J'ai besoin d'un outil qui représentera graphiquement notre pipeline de construction. Les captures d'écran ci-dessous des travaux de pensée aller et le plug-in Jenkins Pipeline illustrent presque exactement ce que je veux que cela ressemble. P>
Le problème est que nous utilisons déjà Jenkins pour nos constructions et déploiements, ainsi que quelques autres outils personnalisés pour les tâches de type d'orchestration. Nous ne voulons pas qu'un outil de pipeline fasse les constructions ou les déploiements lui-même, il doit simplement invoquer Jenkins! J'ai essayé Go, et la première chose qu'elle a demandé est de savoir où mon code source est et comment le construire. Je ne pouvais pas aller aller au travail d'une manière où Jenkins effectue les constructions mais que va crée le pipeline. P>
J'ai également expérimenté le plug-in Jenkins Pipeline, mais c'est très limitant. Pour un, cela ne fonctionne pas avec le plugin de jointure (nous ne pouvons donc pas faire fonctionner des emplois en parallèle, ce qui est une exigence). Cela suppose également que toutes nos tâches se produisent à Jenkins (Jenkins ne peut pas voir en dehors de notre laboratoire de test et dans notre environnement de production). Je ne sais pas si c'est une option viable non plus. P>
Alors, quelqu'un a-t-il une recommandation pour certains outils de pipeline qui feront ce que je recherche? P>
P>
4 Réponses :
Jenkins / Hudson peut certainement être utilisé pour atteindre un vrai pipeline . p>
Daniel, je crois que deux problèmes avec votre pipeline sont les suivants: 1) Si une étape en amont que l'espace de travail clones est déclenché automatiquement à un moment donné par un nouveau commit / poussée, alors votre atomicité est cassée et vos constructions en aval échouent à leur étape de construction conditionnelle. 2) La déclenchement manuelle d'une construction en aval nécessite toujours de saisir manuellement le numéro de change :( si ceux-ci ont été surmontés, vous auriez le pipeline de construction parfait :)
Tu as raison. Pour gérer les incohérences, vous pouvez verrouiller la scène. Saisie manuelle des modifications est une douleur dans le cou, je suis totalement d'accord et en fonction de la fréquence de votre construction ou de complexes. La solution ci-dessus est loin d'être parfaite et ne fonctionnera pas dans tous les cas. Voir, Jenkins ne fait pas réellement de pipelines, mais le côté en haut, c'est qu'il n'y a pas de codage impliqué, tout est fait avec des plugins, il est donc rapide.
edit (03/2018) strong> p>
Depuis l'écriture de cette question en 2012 et en répondant en 2014, de nombreux outils sont venus en ligne pour soutenir ce que je voulais à l'origine. Jenkins soutient désormais des pipelines scriptés de manière native et possède une excellente intervention UI (océan bleu) pour les rendre. Les personnes trébuchantes sur cette question devraient envisager de les utiliser pour leurs besoins de pipeline. P>
(ancienne réponse) em> p>
Cela n'existait pas quand j'ai posé la question, mais le plug-in de la construction de Jenkins est exactement ce dont j'avais besoin et crée très bien des vues de pipeline. P>
https://wiki.jenkins-ci.org/display/ Jenkins / Build + Flow + Plugin P>
Grande suggestion. J'ai passé environ 3 heures aujourd'hui en déplaçant certains de nos emplois de Jenkins enchaînés dans le plugin de construction de Build Flow et je suis déjà vraiment content des résultats + ont commencé à exécuter quelques étapes en parallèle. On se sent comme créer un CI pour la première fois à nouveau.
Vous pouvez utiliser Go si vous avez utilisé un matériau factice (un repo git vide, par exemple), puis utilisé l'API pour déclencher un pipeline et télécharger des artefacts. P>
Mais, c'est tout à fait un effort, et vous ne devriez probablement faire que si vous avez une très bonne raison, sinon utiliser Go. P>
Vous pouvez essayer avec le pipeline GOCD. Il a de très belles caractéristiques pour la livraison continue et a un bon tableau de bord qui montre un flux et un statut en temps réel. Essayez. P>