Les étapes d'un pipeline

Étapes et jobs, ordre canonique, parallélisme, dépendances en graphe, conditions d'exécution, échecs bloquants ou tolérés, durée et chemin critique, sur de vrais fichiers .gitlab-ci.yml.

  • 22 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Les chiffres
  5. Mises en situation

Quelques cartes du deck

  • Étape de pipeline : de quoi s'agit-il ?

    Voir la réponse

    Groupe de jobs qui s'exécutent en parallèle ; l'étape suivante ne démarre que si tous les jobs de la précédente ont réussi.

    L'ordre classique est construire, tester, analyser, empaqueter, déployer : chaque étape suppose que la précédente a produit quelque chose de sain.

  • Ce fichier est refusé avec « chosen stage does not exist; available stages are .pre, build, test, .post ». Quelle est la correction ?

    ```yaml
    stages:
    - build
    - test

    deploy:
    stage: deploy
    script:
    - ./deploy.sh
    `

    • Ajouter deploy à la liste stages
    • Renommer le job deploy en release
    • Ajouter needs: [test] au job deploy
    • Ajouter allow_failure: true au job
    Voir la réponse

    Ajouter deploy à la liste stages

    Le message liste les étapes connues : deploy n'en fait pas partie. Il suffit de la déclarer dans stages, après test. Le nom du job, needs ou allow_failure ne changent rien à l'étape demandée, qui reste inconnue.

  • Dans un fichier GitLab CI, la liste … donne l'ordre des étapes, et chaque job y choisit la sienne avec le mot-clé ….

    Voir la réponse

    Dans un fichier GitLab CI, la liste stages donne l'ordre des étapes, et chaque job y choisit la sienne avec le mot-clé stage.

    Sans stage, un job va dans l'étape test par défaut ; un nom d'étape absent de la liste est une erreur de configuration.

  • Job : de quoi s'agit-il ?

    Voir la réponse

    Unité de travail d'un pipeline : un script lancé sur un runner, rattaché à une étape, avec ses conditions, ses artefacts et son statut.

    Une étape contient un ou plusieurs jobs ; c'est le job, pas l'étape, qui échoue ou réussit, qui s'exécute ou est sauté.