10
votes

Comment gérer plusieurs pipelines Jenkins à partir d'un seul référentiel?

À ce moment-là, nous utilisons JJB pour compiler des emplois Jenkins (principalement des pipelines déjà) afin de configurer environ 700 emplois, mais JJB2 ne semble pas bien augmenter pour construire des pipelines et je cherche un moyen de le laisser tomber de l'équation. < / p>

Principalement, je voudrais pouvoir avoir tous ces pipelines stockés dans un référentiel centralisé unique .

Veuillez noter que la conservation de la configuration CI (Jenkinsfile) à l'intérieur de chaque référentiel et une branche n'est pas possible dans notre cas d'utilisation, nous devons conserver tous les pipelines dans un seul "Jenkins-Jobs.git" Repo.


0 commentaires

3 Réponses :


3
votes

Autant que je sache, cela n'est pas encore possible, mais en cours. Voir: https://issues.jenkins-ci.org/browse/jenkins-43749 < / a>


0 commentaires

1
votes

Je pense que c'est le but de Jenkins Bibliothèques partagées

Je n'ai pas développé une telle bibliothèque, mais j'utilise certains. Fondamentalement:

  • Développez le "code partagé" du pipeline Jenkins dans une bibliothèque partagée
    • Il peut contenir tout le pipeline (SEQ des étapes)
    • Ajoutez cette bibliothèque au serveur Jenkins
    • Dans chaque projet, ajoutez un Jenkinsfile qui "importer" ceux utilisant @Library

0 commentaires

-1
votes

Comme @juh_ a dit, vous pouvez utiliser Jenkins Bibliothèques partagées , voici une étape complète, supposons que nous avons trois branches:


1 commentaires

Les bibliothèques partagées ne vous aident pas si nous ne pouvons pas définir plusieurs Jenkinsfiles dans un repo. L'OP a également dit qu'ils ne veulent pas stocker Jenkinsfiles dans des repos ou des branches séparés.