Aller au contenu principal

Déclarer les déploiements depuis tes pipelines

Avec la source astrolabe, tes pipelines disent à Astrolabe ce qu'ils déploient : à la fin de chaque déploiement, un appel, et la version s'affiche sur le composant et sur la page Déploiements. Le pipeline s'identifie avec un jeton de pipeline, qui ne permet rien d'autre que déclarer un déploiement.

Avant de commencer

Il faut être administrateur, et Déploiements doit être allumé : voir Voir les versions déployées. La source doit être astrolabe (c'est la valeur par défaut). Si Argo CD déploie tes applications, lis plutôt Lire les versions dans Argo CD : rien à faire dans tes pipelines.

1. 🔑 Générer le jeton de pipeline​

  1. Dans la barre latérale, clique sur Administration, puis, sous PLATEFORME, sur Plugins.

  2. Sur la carte Déploiements, clique sur Configurer.

  3. En haut de la page, clique sur l'onglet Jeton de pipeline. Il dit Aucun jeton de pipeline : aucun pipeline ne peut déclarer de déploiement.

  4. Clique sur Générer un jeton de pipeline.

  5. Le jeton s'affiche dans un encadré vert, sous Copiez ce jeton maintenant et rangez-le dans le secret ASTROLABE_PIPELINE_TOKEN de votre CI : il ne sera plus affiché. Clique sur Copier le jeton.

2. 🔒 Le ranger dans ta CI​

Dans ta CI (GitLab CI, GitHub Actions, Jenkins…), crée une variable secrète nommée ASTROLABE_PIPELINE_TOKEN et colles-y le jeton. Ne l'écris jamais dans un fichier de ton dépôt.

3. 🧩 Vérifier le nom du composant​

Rien à ajouter au catalogue : un déploiement se rattache au composant par son nom, le metadata.name de son catalog-info.yaml. Par exemple, pour shop-api :

apiVersion: backstage.io/v1alpha1
kind: Component
metadata:
name: shop-api
spec:
type: service
lifecycle: production
owner: group:default/platform

4. 🚀 Déclarer un déploiement​

  1. De retour sur l'onglet Jeton de pipeline, sous Déclarer un déploiement depuis un pipeline, clique sur Copier l'appel. Il contient déjà l'adresse de ton Astrolabe :

    curl -X POST "https://astrolabe.exemple.com/api/release-manager/pipeline/projects/$COMPONENT/environments/$ENVIRONMENT" \
    -H "Authorization: Bearer $ASTROLABE_PIPELINE_TOKEN" \
    -H "Content-Type: application/json" \
    -d "{\"version\": \"$VERSION\", \"deploymentUrl\": \"$CI_JOB_URL\"}"
  2. Colle-le à la fin du job de déploiement de ton pipeline, et donne-lui ses valeurs :

    • COMPONENT : le nom du composant dans le catalogue, par exemple shop-api ;
    • ENVIRONMENT : l'environnement, par exemple production ou staging — c'est le nom de la colonne ;
    • VERSION : la version déployée, par exemple 2.4.0 ;
    • CI_JOB_URL : le lien vers le job ; GitLab CI le fournit sous ce nom. Tu peux l'enlever.
  3. Lance le pipeline. L'appel répond 201.

✅ Vérifier​

  1. Dans la barre latérale, clique sur Déploiements : la ligne du composant affiche la version sous son environnement, par exemple 2.4.0 sous production.

  2. De retour sur l'onglet Jeton de pipeline, le jeton dit quand il a servi pour la dernière fois : Dernière utilisation le 16/10/2026 10:11:21.

✅ C'est fait !

🔄 Remplacer ou révoquer le jeton​

Le jeton a fuité, ou quelqu'un qui le connaissait est parti :

  1. Sur l'onglet Jeton de pipeline, clique sur Remplacer le jeton.

  2. La fenêtre Remplacer le jeton de pipeline ? dit Le jeton actuel cesse de fonctionner immédiatement : chaque pipeline qui l'utilise devra recevoir le nouveau. Clique sur Remplacer.

  3. Copie le nouveau jeton et mets-le dans le secret ASTROLABE_PIPELINE_TOKEN de chaque CI.

Pour empêcher tout pipeline de déclarer, clique sur Révoquer le jeton, puis sur Révoquer. Le message Jeton de pipeline révoqué. s'affiche ; plus rien n'est déclaré tant qu'un nouveau jeton n'est pas généré.

Un seul jeton pour tous tes pipelines

Astrolabe garde un seul jeton de pipeline : toutes les CI utilisent le même. En générer un nouveau remplace l'ancien.

La suite : Problèmes courants des Déploiements.