CircleCI : une ouverture qui passe par GitLab

CircleCI GitLab

CircleCI s’ouvre officiellement à GitLab. Et introduit, à cette occasion, la notion de projets et d’organisations « autonomes ». De quoi s’agit-il ?

Vers plus de transversalité pour CircleCI ? L’ouverture à d’autres sources que les dépôts de code (API, registres…) est en tout cas sur la feuille de route. Dans l’immédiat, le « rayon d’action » s’étend sur un autre plan. Il est désormais possible de créer des organisations et des projets « autonomes ». Ce au sens où ils ne dépendent pas d’un système de gestion de versions.

En l’état cette extension est plus prospective qu’effective. Elle ne fonctionne effectivement pas encore avec GitHub, ni avec Bitbucket. Elle prend toutefois en charge GitLab… avec lequel CircleCI vient officiellement d’établir la connexion. Plus précisément avec la version SaaS.

Dans les grandes lignes, il faut créer une organisation CircleCI (indépendante des autres, y compris sur le pricing), puis y ajouter un projet auquel on peut alors lier un dépôt GitLab, par OAuth ou par jeton. La connexion repose sur des webhooks.

Pour le moment, on ne peut définir de rôles et de permissions qu’au niveau des organisations CircleCI. Parmi les autres éléments pas encore pris en charge, on aura noté :

– Gestion des identités GitLab hors du cadre des projets CircleCI
– Annulation automatique des flux redondants
– Restriction des accès aux contextes CircleCI
– Possibilité d’utiliser les versions gratuite et open source de CircleCI

Chaque projet « autonome » peut avoir une ou plusieurs configurations (définitions de pipelines). Source primaire : un fichier de configuration situé dans un dossier .circleci à la racine du dépôt. Fichier qu’on doit pour le moment éditer « à la main ».

Un projet peut aussi répondre à un ou plusieurs déclencheurs. Autrement dit, à des changements sur des sources… qui ne sont pas forcément des systèmes de gestion de version. On peut y appliquer des filtres, y compris personnalisés.

schéma connexion GitLab CircleCI

Illustration principale © GKSD – Fotolia