Getting started with Bitbucket Pipelines

illustrations illustrations illustrations illustrations illustrations illustrations illustrations
post-thumb

Publié le 11 mai 2023 par Andrew Owen (2 minutes)

Je suis un grand fan des actions GitHub. Mais si vous travaillez pour une entreprise de logiciels, il y a de fortes chances que vous utilisiez Bitbucket Cloud d’Atlassian (ainsi que Confluence et Jira). Si c’est le cas, vous pouvez utiliser Pipelines pour créer des flux de travail d’intégration et de déploiement continus. Si vous êtes novice en matière de DevOps et de CI/CD, j’ai un TL:DR pour vous.

  1. Dans Bitbucket, allez dans votre référentiel et sélectionnez Pipelines.
  2. Cliquez sur Create your first pipeline pour descendre jusqu’à la section des modèles.
  3. Sélectionnez le pipeline Starter. Cela créera un fichier appelé bitbucket-pipelines.yml.
image: atlassian/default-image:3

pipelines:
  default:
    - step:
        name: 'extract a zip file'
        condition:
          changesets:
            includePaths:
              - "*.zip"
        script:
          - rm -r uploads/extracted
          - filename=$(basename -s .zip *.zip)
          - unzip *.zip
          - rm *.zip
          - mv $filename temp
          - mv temp/out/* .
          - rm -r temp
          - git add .
          - git commit -m "unzip"
          - git push origin main

Lorsque vous avez terminé, cliquez sur Commit File.

Bitbucket Pipelines exécute vos constructions dans des conteneurs Docker. Vous devez donc d’abord choisir une image. La valeur par défaut est atlassian/default-image:latest. Atlassian recommande de l’utiliser jusqu’à ce que votre pipeline fonctionne, puis de trouver une image spécifique. Dans ce cas, nous utilisons Ubuntu 20.04 LTS.

  • default indique au script de s’exécuter lorsqu’un commit est poussé sur n’importe quelle branche.
  • parallel vous permet d’exécuter des étapes simultanément, mais ce n’est pas nécessaire ici.
  • step est une tâche individuelle.name est le nom d’affichage de l’étape.
  • condition limite les circonstances dans lesquelles le script s’exécute.
  • changesets spécifie les changements à utiliser comme condition.
  • includePath définit le chemin du fichier qui correspondra à la condition.
  • script est l’entrée de l’interface de programmation de Linux.

Le script est pratiquement identique à l’action GitHub que j’ai écrite, donc pour une explication plus détaillée, vous pouvez la lire.

Image: original par Sigmund.