Files
timelapse-frontend/.gitea/workflows/deploy.yml

67 lines
2.1 KiB
YAML

# 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
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Install dependencies
run: npm install
- name: Lint HTML
run: npx htmlhint .
- name: Lint CSS
run: npx stylelint "**/*.css"
- name: Lint JavaScript
run: npx eslint .
deployment:
runs-on: ubuntu-latest # Utilisation de l'image Ubuntu pour l'environnement de job
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