Aller au contenu

Utiliser la registry

Une fois votre code hébergé, il lui faut une image que la plateforme puisse démarrer. La GitLab Container Registry joue ce rôle : c'est là que vivent les images de vos traitements comme celles de vos applications, et c'est la source dans laquelle le moteur de traitement et la couche d'hébergement d'applications interactives viennent les chercher.

Se connecter

La publication se fait avec Docker, après une authentification auprès de la registry :

docker login registry.gitlab.com

Au moment du mot de passe, fournissez un deploy token ou un personal access token GitLab, jamais le mot de passe de votre compte : un token se limite à la portée que vous lui donnez et se révoque seul, sans toucher au reste de vos accès.

Publier une image

Le nom de l'image encode le chemin de votre projet dans le groupe, et son tag reprend celui de la version Git - c'est ce qui permettra plus tard de relier une exécution à un commit précis :

IMAGE=registry.gitlab.com/urbiverde-if-pathfinder/<projet>:v1.0.0

docker build -t "$IMAGE" .
docker push "$IMAGE"

Rendre l'image accessible à la plateforme

Bonne nouvelle : il n'y a presque rien à faire ici. La plateforme IF est déjà configurée pour accéder aux images de la registry, aussi bien pour le processing que pour l'application hosting. Vous n'avez donc ni deploy token ni secret de pull à créer de votre côté.

Reste une condition, et une seule : votre projet doit avoir invité le groupe urbiverde-if-pathfinder en tant que Maintainer. C'est par cette invitation que la plateforme hérite du droit de lire votre registry. Dans votre projet GitLab :

  1. Manage → Members → Invite a group.
  2. Groupe : urbiverde-if-pathfinder.
  3. Rôle : Maintainer.

Sans cette invitation

Tout se passe bien jusqu'au lancement : la chaîne est acceptée, puis l'exécution échoue au démarrage sur une erreur de pull de l'image (ImagePullBackOff ou unauthorized), qui pointe l'image sans dire que le problème vient des droits du groupe. C'est la cause la plus fréquente d'un traitement qui ne démarre pas - vérifiez-la en premier.

Pour plus de détails, consultez cette section de la documentation.

Étape suivante

L'image est publiée et accessible ; il reste à indiquer à la chaîne où la trouver : référencer cette image dans votre CWL.