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 :
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 :
- Manage → Members → Invite a group.
- Groupe :
urbiverde-if-pathfinder. - 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.