Comment configurer l'exécution d'une tâche dans GitLab en appuyant sur un bouton?
sobes.tech IA
Réponse de l'IA
Pour configurer le lancement manuel d'un job dans GitLab CI/CD, la mot-clé when: manual est utilisé dans la description du job dans le fichier .gitlab-ci.yml.
Exemple:
stages:
- build
- deploy
build_job:
stage: build
script:
- echo "Construction du projet..."
# Commandes de build
deploy_staging:
stage: deploy
script:
- echo "Déploiement en staging..."
# Commandes de déploiement
when: manual # Ce job doit être lancé manuellement
allow_failure: false # Par défaut false, mais explicitement indiqué pour clarté
Explication:
when: manual: Indique à GitLab que ce job ne sera pas lancé automatiquement lors d'un changement de code (commit) ou selon un calendrier. Il attendra que l'utilisateur le lance manuellement via l'interface GitLab.allow_failure: false: Détermine si les jobs suivants (s'il y en a) doivent s'exécuter si ce job manuel échoue. Si défini àfalse(valeur par défaut), le pipeline s'arrêtera en cas d'échec de ce job. Si défini àtrue, le pipeline continuera même en cas d'échec.
Après avoir ajouté et committé un fichier .gitlab-ci.yml avec cette configuration, dans l'interface des pipelines GitLab (CI/CD -> Pipelines), un bouton de lancement ("Run") apparaîtra ou son statut sera affiché comme "Manual" à côté du job deploy_staging. Cliquer sur ce bouton lancera le job.
Il est également possible d'inclure des jobs manuels dans des étapes qui déclenchent automatiquement d'autres jobs. Par exemple:
stages:
- build
- test
- deploy
build_job:
stage: build
script:
- echo "Construction..."
test_job:
stage: test
needs: [build_job]
script:
- echo "Test..."
deploy_production:
stage: deploy
needs: [test_job]
script:
- echo "Déploiement en production..."
when: manual # Disponible uniquement après un test réussi, manuellement
variables:
TARGET_ENVIRONMENT: "production" # Exemple: passage de variables pour le job manuel
Ici, le job deploy_production ne sera disponible pour lancement manuel qu'après la réussite du job test_job.
En plus:
variables: Les jobs manuels peuvent utiliser des variables définies dans le fichier.gitlab-ci.ymlou dans les paramètres du projet/groupe.rules: Des scénarios d'exécution plus complexes peuvent utiliser la clérulesavecwhen: manualpour définir les conditions rendant le job manuel disponible ou obligatoire.- API: Les jobs manuels peuvent également être lancés via l'API GitLab CI/CD.
Ainsi, when: manual est le mécanisme principal pour réaliser le lancement manuel d'un job dans GitLab.