DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesGitHub Actions avancé : secrets, matrices et déploiement05 - Déclencher des workflows manuellement

Détails

  • 20 minutes
  • Avancé

Objectifs

  • Configurer le déclencheur workflow_dispatch avec des inputs
  • Utiliser les types choice, string et boolean pour les inputs
  • Déclencher un workflow depuis l'interface GitHub Actions
  • Utiliser la CLI gh workflow run pour déclencher depuis le terminal
Module GitHub Actions avancé : secrets, matrices et déploiement

Exercice 05 : Déclencher des workflows manuellement

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Configurer on: workflow_dispatch avec des inputs typés
  • ✅ Utiliser ${{ inputs.xxx }} dans les steps du workflow
  • ✅ Déclencher un workflow depuis l'onglet Actions de GitHub
  • ✅ Déclencher un workflow depuis le terminal avec gh workflow run

Durée estimée : 20 min | Difficulté : ⭐⭐⭐☆☆


📖 Contexte

Certains workflows ne doivent pas se déclencher automatiquement à chaque push. Par exemple : un déploiement en production, une migration de base de données, la génération d'un rapport mensuel. Le déclencheur workflow_dispatch permet de lancer ces workflows à la demande, depuis l'interface GitHub ou via la CLI gh.

Les inputs permettent de passer des paramètres au workflow : quel environnement déployer, quelle version utiliser, activer ou non le mode debug.


📋 Énoncé

Vous allez créer un workflow de déploiement manuel avec trois inputs : le choix de l'environnement, une description de la version, et un flag debug. Vous le déclencherez depuis l'interface GitHub et depuis le terminal.

Résultat attendu :

  • L'onglet Actions affiche un bouton "Run workflow" avec un formulaire
  • Les inputs sont utilisés dans les steps du workflow
  • gh workflow run déclenche le workflow depuis le terminal

🧭 Déroulement

Tâche 1 : Créer le workflow avec workflow_dispatch

Créez .github/workflows/deploy-manual.yml avec uniquement on: workflow_dispatch comme trigger. Poussez le fichier et vérifiez que le bouton "Run workflow" apparaît dans l'onglet Actions.

Indice :

`yaml

name: Déploiement Manuel

>

on:

workflow_dispatch:

>

jobs:

deploy:

runs-on: ubuntu-latest

steps:

- run: echo "Déploiement déclenché manuellement"

`

Le bouton "Run workflow" n'apparaît que si le workflow est présent sur la branche par défaut (généralement main).

Vérification : L'onglet Actions affiche le workflow "Déploiement Manuel" avec un bouton "Run workflow".


Tâche 2 : Ajouter un input de type choice

Ajoutez un input environment de type choice avec les options staging, production, et sandbox. Définissez staging comme valeur par défaut.

Indice :

`yaml

on:

workflow_dispatch:

inputs:

environment:

description: 'Environnement cible'

required: true

type: choice

options:

- staging

- production

- sandbox

default: staging

`

Vérification : Le formulaire "Run workflow" affiche un menu déroulant avec les trois options.


Tâche 3 : Ajouter des inputs string et boolean

Ajoutez un input version (string, requis) pour la version à déployer, et un input debug (boolean, défaut false) pour activer les logs détaillés.

Indice :

`yaml

version:

description: 'Version à déployer (ex: v1.2.3)'

required: true

type: string

debug:

description: 'Activer le mode debug'

required: false

type: boolean

default: false

`

Vérification : Le formulaire affiche un champ texte pour version et une case à cocher pour debug.


Tâche 4 : Utiliser les inputs dans les steps

Dans le job, utilisez les trois inputs pour personnaliser l'exécution du workflow. Conditionnez une étape de debug sur inputs.debug == true.

Indice :

`yaml

steps:

- name: Afficher les paramètres

run: |

echo "Environnement : ${{ inputs.environment }}"

echo "Version : ${{ inputs.version }}"

echo "Debug : ${{ inputs.debug }}"

>

- name: Logs de debug détaillés

if: inputs.debug == true

run: echo "MODE DEBUG - Affichage des variables d'environnement"

`

Vérification : Avec debug: true, le step de debug s'exécute. Sans, il est ignoré.


Tâche 5 : Déclencher depuis la CLI gh

Installez ou utilisez la CLI GitHub gh pour déclencher le workflow depuis le terminal sans passer par l'interface web.

Indice :

`bash

# Déclencher avec des inputs

gh workflow run deploy-manual.yml \

--field environment=staging \

--field version=v1.2.3 \

--field debug=true

>

# Lister les runs récents du workflow

gh run list --workflow=deploy-manual.yml

>

# Voir les logs du dernier run

gh run watch

`

La CLI gh doit être authentifiée avec gh auth login au préalable.

Vérification : Un nouveau run apparaît dans l'onglet Actions avec les inputs passés via la CLI.


🗂️ Mini-Projet : Workflow de migration manuelle

yaml
# Checkpoints à valider :
# [ ] workflow_dispatch est configuré comme trigger
# [ ] Un input de type choice (environment) est présent
# [ ] Un input de type string (version) est présent
# [ ] Un input de type boolean (debug) est présent
# [ ] ${{ inputs.xxx }} est utilisé dans au moins un step
# [ ] Un step conditionnel utilise if: inputs.debug == true
# [ ] gh workflow run déclenche le workflow depuis le terminal
# [ ] Bonus : ajoutez un input number pour le nombre de replicas

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement
  • Tâche 1 : Créer le workflow avec workflow_dispatch
  • Tâche 2 : Ajouter un input de type choice
  • Tâche 3 : Ajouter des inputs string et boolean
  • Tâche 4 : Utiliser les inputs dans les steps
  • Tâche 5 : Déclencher depuis la CLI gh
  • 🗂️ Mini-Projet : Workflow de migration manuelle