Aller au contenu principal

CI/CD et automatisation

Automatisez vos déploiements avec les fonctions de CI/CD intégrées à Kuploy, et branchez-y vos propres chaînes de build.

Déploiement automatique au push​

C'est la façon la plus simple d'automatiser : redéployer à chaque push sur votre branche.

  1. Allez dans Settings → Source
  2. Activez Auto Deploy
  3. Éventuellement, affinez avec :
    • Branch filter — ne déployer que depuis certaines branches
    • Path filter — ne déployer que si certains fichiers ont changé

Chaque push sur la branche configurée déclenche alors un nouveau déploiement.

Les déclencheurs de build​

Kuploy reconnaît plusieurs déclencheurs :

DéclencheurDescription
Push GitDéploiement automatique au push (si l'option est activée)
ManuelUn clic sur « Deploy » dans le tableau de bord
WebhookUn POST HTTP
APIUn appel depuis votre code

Webhooks​

Déclenchez vos déploiements depuis des systèmes extérieurs.

Webhook de déploiement​

Chaque application a sa propre URL de webhook de déploiement. Elle se trouve sur l'onglet Deployments de l'application, et non dans les réglages :

L’onglet Deployments, avec l’URL du webhook de déploiement et le déploiement en cours

  1. Ouvrez l'application et allez sur l'onglet Deployments
  2. Copiez la Webhook URL
  3. Envoyez-y une requête POST pour déclencher un déploiement :
curl -X POST https://votre-instance-kuploy.com/api/deploy/[token]
Cette URL est un secret

Quiconque la détient peut déclencher un déploiement de cette application. Traitez-la comme un jeton : gardez-la dans le coffre à secrets de votre chaîne d'intégration, pas dans un fichier versionné. La flèche circulaire à côté régénère l'URL, ce qui invalide aussitôt l'ancienne.

Webhooks sortants​

Kuploy peut aussi vous notifier lorsqu'un événement se produit :

ÉvénementDescription
deploy.startedLe build commence
deploy.succeededLe déploiement s'est terminé correctement
deploy.failedLe déploiement a échoué
app.health_changedL'état de santé a changé

Les webhooks sortants se configurent dans Settings → Webhooks → Add Outbound Webhook.

Intégration avec GitHub Actions​

Exemple de workflow déclenchant un déploiement Kuploy une fois les tests passés :

name: Deploy to Kuploy
on:
push:
branches: [main]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm test

deploy:
needs: test
runs-on: ubuntu-latest
steps:
- name: Trigger Kuploy Deploy
run: |
curl -X POST ${{ secrets.KUPLOY_DEPLOY_WEBHOOK }}

Enregistrez l'URL de votre webhook de déploiement comme secret GitHub (KUPLOY_DEPLOY_WEBHOOK).

Intégration avec GitLab CI​

stages:
- test
- deploy

test:
stage: test
script:
- npm ci
- npm test

deploy:
stage: deploy
only:
- main
script:
- curl -X POST $KUPLOY_DEPLOY_WEBHOOK

Minutes de build​

Les déploiements automatiques consomment des minutes de build. Quelques réflexes pour en économiser :

  • Servez-vous d'un .dockerignore pour exclure les tests, la documentation et tout ce qui ne sert pas à l'exécution
  • Profitez du cache de couches Docker en ordonnant les instructions du Dockerfile de la moins à la plus souvent modifiée
  • Pour les dépendances qui bougent rarement, envisagez une image déjà construite
  • Les builds en échec sont décomptés eux aussi : testez d'abord en local

Stratégies de déploiement​

Un déploiement par branche​

Créez une application distincte pour chaque environnement :

BrancheApplicationEnvironnement
mainmonapp-productionProduction
stagingmonapp-stagingPré-production
developmonapp-devDéveloppement

Chaque application a ses propres variables d'environnement, son domaine et ses réglages de déploiement automatique.

Déploiements de prévisualisation​

Pour prévisualiser une pull request :

  1. Créez une application dédiée aux prévisualisations
  2. Configurez le déploiement automatique depuis la branche de la PR
  3. Utilisez un sous-domaine gratuit (par exemple monapp-pr-123.kuploy.app)
  4. Supprimez l'application de prévisualisation une fois la PR fusionnée