Intégration GitHub

Pipeline CI/CD automatisée avec GitHub Actions

Siovos configure automatiquement une pipeline CI/CD complète sur votre infrastructure. Vos builds s'exécutent sur votre serveur et déploient directement sur votre cluster Kubernetes.

Le principe#

Quand vous pushez du code sur GitHub :

  1. GitHub déclenche le workflow
  2. Le runner sur votre serveur exécute le build
  3. L'image est poussée sur votre registre privé
  4. L'application est déployée sur votre cluster

Tout reste privé - votre code ne quitte jamais votre infrastructure.

Deux modes de configuration#

Dans le wizard, l'étape CI/CD propose deux options :

Lier à un CI/CD existant#

Si vous avez déjà une configuration CI/CD dans Siovos, vous pouvez la réutiliser pour un nouveau déploiement. Utile quand vous avez plusieurs environnements (dev, staging, prod) liés au même compte GitHub.

Lier un CI/CD existant
  1. Sélectionnez la configuration existante
  2. Nommez votre déploiement
  3. Lancez le déploiement
  4. Les secrets et le runner sont synchronisés automatiquement

Créer une nouvelle config CI/CD#

Pour une première configuration ou un nouveau compte GitHub.

Créer une config CI/CD
  1. Entrez vos identifiants GitHub App (App ID, Installation ID, clé privée)
  2. Sélectionnez l'organisation ou le compte personnel
  3. Nommez votre déploiement
  4. Lancez le déploiement
  5. Les secrets et le runner sont synchronisés automatiquement

L'authentification utilise une GitHub App, pas un Personal Access Token. Cela permet un contrôle plus fin des permissions et une rotation automatique des tokens.

Ce qui est configuré automatiquement#

Après le déploiement, Siovos synchronise tout ce dont vos pipelines ont besoin :

ÉlémentDescription
Secrets d'organisationIdentifiants du registre, tokens d'accès au cluster
Variables d'organisationURL du registre, suffixe DNS, nom de l'environnement
Runner self-hostedEnregistré au niveau de l'organisation, disponible pour tous vos repos

Les secrets et variables sont définis au niveau de l'organisation GitHub, pas par repo. Tous vos repos y ont accès.

Utiliser la pipeline dans vos repos#

Créez .github/workflows/deploy.yml dans votre repo :

name: Deploy

on:
  push:
    branches: [main]

jobs:
  deploy:
    uses: votre-org/ci-templates/.github/workflows/pipeline.yml@main
    with:
      app_name: mon-app
      port: 3000
    secrets: inherit

La pipeline template gère automatiquement :

  • Build de l'image Docker
  • Push vers le registre privé
  • Déploiement sur Kubernetes avec Helm
  • Configuration DNS et TLS

Options de la pipeline#

ParamètreDescriptionDéfaut
app_nameNom de l'applicationRequis
portPort de l'applicationRequis
replicasNombre de réplicas1
health_pathChemin du health check/
extra_ingressesIngresses supplémentaires (JSON)-

Vérifier le statut#

Runner - Dans GitHub : Organisation → Settings → Actions → Runners. Le runner doit apparaître comme "Idle" ou "Active".

Secrets - Organisation → Settings → Secrets and variables → Actions. Vous devriez voir les secrets synchronisés par Siovos.

Problèmes fréquents#

Runner "Offline" - Vérifiez que le serveur est accessible et que le service runner est actif. Dans Siovos Desktop, consultez l'onglet Services de votre infrastructure.

Build échoue au push de l'image - Les identifiants du registre sont synchronisés automatiquement. Si le problème persiste, relancez la synchronisation depuis Siovos Desktop.

Déploiement échoue - Vérifiez que votre Dockerfile build correctement en local avant de pusher.

Prochaines étapes#

Cette page vous a-t-elle été utile ?