Aller au contenu

GitHub CLI

Guide complet pour utiliser le GitHub CLI (gh) dans la gestion des projets Pedago Tools.

Installation

# macOS
brew install gh

# Ubuntu/Debian
sudo apt install gh

# Ou via conda
conda install -c conda-forge gh

Authentification

gh auth login

Choisir :

  • GitHub.com
  • HTTPS
  • Login with a web browser (ou coller un token)

Vérifier :

gh auth status

Gestion des secrets

Définir un secret

# Depuis une valeur directe
gh secret set SECRET_NAME --repo EpitechAfrik/alert-parent-backend --body "valeur"

# Depuis un fichier
gh secret set SECRET_NAME --repo EpitechAfrik/alert-parent-backend < fichier.txt

Lister les secrets

gh secret list --repo EpitechAfrik/alert-parent-backend

Stocker un fichier .env comme secret unique

C'est le pattern DOTENV_FILE utilisé par tous nos pipelines :

# Stocker le .env complet comme un seul secret
gh secret set DOTENV_FILE --repo EpitechAfrik/alert-parent-backend < .env.prod

Le pipeline reconstruit le fichier .env sur le VPS à chaque déploiement depuis ce secret. Voir Variables d'environnement pour plus de détails.

Secrets courants à configurer

# Pour un nouveau projet
gh secret set SERVER_HOST --repo EpitechAfrik/MON-REPO --body "IP_DU_VPS"
gh secret set SERVER_USERNAME --repo EpitechAfrik/MON-REPO --body "root"
gh secret set SERVER_SSH_KEY --repo EpitechAfrik/MON-REPO < ~/.ssh/id_ed25519
gh secret set DOTENV_FILE --repo EpitechAfrik/MON-REPO < .env.prod
gh secret set WEBHOOK_URL --repo EpitechAfrik/MON-REPO --body "https://webhook.example.com"

Monitoring des pipelines

Lister les derniers runs

gh run list --repo EpitechAfrik/alert-parent-backend

Voir les détails d'un run

gh run view RUN_ID --repo EpitechAfrik/alert-parent-backend

Voir les logs complets d'un run

gh run view RUN_ID --repo EpitechAfrik/alert-parent-backend --log

Suivre un run en temps réel

gh run watch RUN_ID --repo EpitechAfrik/alert-parent-backend

Relancer un run échoué

gh run rerun RUN_ID --repo EpitechAfrik/alert-parent-backend

Diagnostic des échecs

Filtrer les erreurs dans les logs d'un run

gh run view RUN_ID --repo EpitechAfrik/alert-parent-backend --log 2>&1 | grep -E "err:|Error"

Voir uniquement le job qui a échoué

gh run view RUN_ID --repo EpitechAfrik/alert-parent-backend --log-failed

Autres commandes utiles

Voir les issues

gh issue list --repo EpitechAfrik/alert-parent-backend

Créer une issue

gh issue create --repo EpitechAfrik/alert-parent-backend --title "Titre" --body "Description"

Voir les pull requests

gh pr list --repo EpitechAfrik/alert-parent-backend

Cloner un repo

gh repo clone EpitechAfrik/alert-parent-backend