DISIC / sill

Socle interministériel de logiciels libres
https://sill.etalab.gouv.fr
38 stars 18 forks source link

Ajout de Gitlab CI / CD #40

Closed rjoly closed 2 years ago

rjoly commented 5 years ago

A ajouter dans la catégorie "Conception & Développement > Test & Intégration > Intégration continue / Déploiement continu".

Outil aux fonctionnalités similaires à Jenkins par exemple.

https://about.gitlab.com/product/continuous-integration/

bzg commented 5 years ago

Bonjour et merci pour la proposition. Est-ce qu'il y a du sens à recommander GitLab CI / CD indépendamment de GitLab ? J'imagine qu'il faut plutôt recommander GitLab CE en général. Si la CI / CD est installable séparément, comme un module de GitLab CE, alors cela peut faire l'objet d'une recommandation distinct.

Ensuite, si vous avez des informations sur un ministère utilisateur et un éventuel référent, nous sommes preneurs.

revolunet commented 5 years ago

Nous utilisons GitHub + GitLab pour la partie CI/CD. La fonction de synchro GitHub->GitLab nécessite des licences par contre :/

rjoly commented 5 years ago

Gitlab CI/CD ne peut effectivement pas, à ma connaissance, s'installer sans Gitlab (CE ou payant). Mais du coup, la réflexion est peut-être à porter sur l'affichage à donner aux outils dans le SILL.

Par exemple, si on cherche des outils pour faire de l'intégration continue, on se dit qu'il n'y a que Jenkins à la première lecture du tableau. On pourrait mettre à côté "Gitlab CI (CE)" en indiquant que l'outil nécessite l'installation de Gitlab. Mais peut-être que le référentiel n'est pas là pour indiquer "quels outils me serviront à réaliser cette tâche-là ?" mais plutôt "j'utilise cet outil, est-il conforme au référentiel ?". Dans le 2nd cas, on va se dire "OK, Gitlab CE est dans le référentiel, je peux utiliser la CI intégrée à Gitlab CE".

Globalement, je pense qu'il y a un petit ajustement de présentation à faire pour indiquer que Gitlab peut fournir un outil de CI/CD.

rjoly commented 5 years ago

Nous utilisons GitHub + GitLab pour la partie CI/CD. La fonction de synchro GitHub->GitLab nécessite des licences par contre :/

@revolunet nous avons un projet dont le repo "maître" est sur GitHub et nous faisons tourner son intégration continue dans notre Gitlab hébergé chez nous (en version CE). On utilise des webhooks GitHub vers les API Gitlab pour lui indiquer de mettre à jour le repo "esclave" et ainsi déclencher les jobs de CI/CD.

Je ne sais pas si c'est iso-fonctionnel avec la synchro GitHub proposée par Gitlab diretement, mais chez nous ça fait le job. Si ça vous intéresse d'avoir plus de détail là-dessus, je vous met en lien avec les responsables de l'outillage chez nous.

bzg commented 5 years ago

Globalement, je pense qu'il y a un petit ajustement de présentation à faire pour indiquer que Gitlab peut fournir un outil de CI/CD.

Oui, tout à fait d'accord - je propose de poursuivre la discussion sur la présentation ici.

revolunet commented 5 years ago

Merci @rjoly oui ca m'intéresse merci :) en gros vous mettez en place les webhooks à la main et ca suffit ? Je pense que GitLab ajoute en plus les "interactions" sur la PR (statut...)

lalmeras commented 5 years ago

@revolunet

Pour rebondir sur la réponse de @rjoly, on utilise un projet à part qui fournit un script de CI (.gitlab-ci.yml + scripts bash) qui font les travaux de mirroring. Les pipelines étant configurés comme endpoint des notifications de push github.

J'ai poussé le projet ici : https://github.com/kobalt-fr/pipeline-triggers. Normalement le README est explicite. Vous pouvez poser des questions dans les issues si nécessaire.

bzg commented 2 years ago

Les propositions d'ajout dans le SILL vont être gérées autrement à partir de 2022. Celle-ci est un peu compliquée, mais nous l'avons bien notée.