# Le fichier .gitea-ci.yml pour Gitea CI/CD on: push: branches: - main # Déclenche l'action pour la branche principale jobs: site-check: runs-on: ubuntu-latest # Linting du code HTML, CSS et JavaScript sur un site non Node.js steps: - name: Checkout code uses: actions/checkout@v2 - name: Install dependencies run: | sudo apt-get update sudo apt-get install -y w3m sudo apt-get install -y csslint sudo apt-get install -y jshint - name: Check HTML run: | w3m -dump -T text/html index.html > /dev/null - name: Check CSS run: | csslint styles.css - name: Check JavaScript run: | jshint scripts.js deployment: runs-on: ubuntu-latest # Utilisation de l'image Ubuntu pour l'environnement de job # Dépend de la réussite de l'action site-check needs: site-check steps: # Étape 1: Setup SSH - name: Setup SSH and Add Private Key run: | # Créez un dossier pour stocker les clés SSH mkdir -p ~/.ssh # Ajoutez la clé privée stockée dans le secret à un fichier id_rsa echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa # Protéger les permissions du fichier de la clé privée chmod 600 ~/.ssh/id_rsa # Ajoutez l'hôte distant à known_hosts pour éviter les erreurs de vérification de l'host ssh-keyscan -H 192.168.1.87 >> ~/.ssh/known_hosts # Vérifiez les permissions du fichier id_rsa (optionnel, juste pour être sûr) ls -l ~/.ssh/id_rsa # Étape 2: Test SSH Connection - name: Test SSH connection run: | # Testez la connexion SSH avec l'hôte distant ssh -v kerboul@192.168.1.87 "echo 'Connection successful!'" # Étape 3: Ajouter une action qui utilise la connexion SSH - name: Run remote command run: | # Exemple de commande distante exécutée sur le serveur distant via SSH ssh kerboul@192.168.1.87 "cd /home/kerboul/scripts/timelapse && ./update_timelapse.sh -o" # Étape 4: Nettoyage (optionnel) - name: Clean up SSH keys run: | # Supprimer la clé privée pour des raisons de sécurité (optionnel) rm -f ~/.ssh/id_rsa rm -f ~/.ssh/known_hosts