Jenkins vs Azure DevOps Pipelines


12

J'ai fait des recherches sur la solution Azure DevOps que Microsoft a récemment dévoilée .

Quelques antécédents, j'utilise Jenkins depuis des années, et j'ai récemment commencé à explorer le trou de lapin de conteneurisation (Docker, Kubernetes, etc.),

Je ne suis pas sûr de certains des aspects des pipelines Azure DevOps, et ce serait génial d'obtenir des commentaires et de la clarté.

TL; DR

  1. Azure DevOps est-il maintenant en concurrence avec Jenkins, où ils supportaient auparavant la communauté Jenkins via des plugins open source pour Jenkins?
  2. Puis-je héberger Azure DevOps Pipelines complètement sur site, pas seulement des agents?
  3. Est-il possible d'utiliser une solution git auto-hébergée (comme GitLab sur site) avec Azure DevOps Pipelines?

Version plus longue

  1. Microsoft a développé divers plug-ins open-source pour Jenkins, tels que le plug-in Azure App Service Jenkins . Il existe de nombreux exemples. Il me semble que la solution Azure DevOps (en particulier les pipelines) est désormais en concurrence directe avec Jenkins, ou est-ce que je manque quelque chose?
  2. Il me semble qu'il n'y a aucun moyen d'héberger la solution Azure Pipelines sur site ou dans un fournisseur de cloud de mon choix. Oui, je peux héberger mes propres agents sur lesquels l'essentiel du travail est effectué, mais l'exécution réelle de la logique du pipeline se produit sur les serveurs de Microsoft. Et puis je dois payer pour des emplois parallèles . Je compare cela à une instance Jenkins hébergée sur site (ou fournisseur de cloud de choix), où aucun paiement n'est requis, et aucun tiers n'est même au courant que nos pipelines sont en cours d'exécution. Suis-je en train de manquer quelque chose?
  3. D'après ce que je peux dire, Azure Pipelines ne prend pas en charge les référentiels auto-hébergés, je mets mon code sur GitHub ou sur les dépôts Azure , rien d'autre. Ainsi, je ne peux même pas utiliser cette solution Pipelines si j'ai une instance GitLab hébergée en privé?

Merci pour toute contribution.


2
Puis-je suggérer de diviser cette question en plusieurs? La question telle qu'elle se présente ressemble plus à une invitation à discuter d'opinions. Si vous pouviez les séparer en questions individuelles, il serait préférable d'y répondre.
Bruce Becker

Salut Avez-vous des réponses à l'une de ces questions?
user10804

Azure Devops ne peut pas être hébergé sur site, mais TFS peut être essentiellement la même chose mais obtient ses mises à jour un peu plus lentement. Nous utilisons TFS 2018 sur prem et son grand
Rich

Est-ce une vraie question? Pour moi, cela ressemble à du FUD sans recherche réelle.
Carles Company du

Grande question! Avez-vous trouvé une réponse à vos questions? Dans l'affirmative, veuillez l'écrire afin que la communauté puisse également en bénéficier.
rodrigogq

Réponses:


4

J'adorerais aussi obtenir une certaine clarté d'une source plus fiable que moi (je suis sûr que je suis aussi coupable de FUD).

J'ai cherché à déployer sur Azure à l'aide de Kubernetes. Je suis également confus, mais je pense que c'est parce qu'il n'y a pas de voie claire. Je ne peux pas parler pour Microsoft mais leur attitude vis-à-vis du cloud semble être qu'ils sont heureux de devenir " toutes choses pour tous les hommes ". Si vous utilisez Azure, Microsoft ne semble pas avoir une opinion solide sur la façon dont vous y arrivez.

Microsoft essaie activement d'évoluer; par exemple, Linux domine désormais Azure


Clairement, le pipeline de déploiement Azure DevOps fait exactement ce que Jenkins peut faire - donc, dans ce sens, il s'agit d'un concurrent. Il y a aussi cette tarification initiale Azure DevOps légèrement rebutante pour les pipelines parallèles.

D'une part, Azure DevOps semble être une nouvelle image de marque de Visual Studio Team Services. Il sera donc familier aux personnes déjà présentes dans l'écosystème de développement Microsoft traditionnel. Dans le même temps, Microsoft fait de gros efforts pour adopter des technologies qui ne sont pas traditionnellement Microsoft ( Go, Java, Node.js, Python, Ruby, PHP, etc.).

Ce n'est que le début - mais il n'est pas surprenant que les pipelines Azure DevOps préfèrent les propriétés Microsoft Git d'Azure Repos et GitHub. De la même manière que les pipelines BitBucket préfèrent les pipelines BitBucket et GitLab préfèrent GitLab.


Pendant ce temps;

Azure Marketplace propose un déploiement Jenkins fourni avec des plug-ins de déploiement Azure prêts à l'emploi.

De nombreux plugins Jenkins ont été développés par l' équipe Azure DevOps .


en plus;

Microsoft a apporté son soutien aux projets liés à Kubernetes Helm et Draft . Helm est un gestionnaire de packages pour Kubernetes. Vous pouvez même utiliser Helm pour déployer une installation Jenkins dans Kubernetes.

-

Il serait intéressant de voir quelqu'un évaluer les avantages, les coûts et les efforts de l'exécution de vos propres Jenkins dans des vers Azure à l'aide de pipelines Azure DevOps.

... et puis il y a Jenkins-X .

Il semblerait donc que nous avons de nombreuses options et décisions à prendre.


2

En réponse à la partie 2 (peut-être), il semble qu'ils le présentent comme une alternative à Jenkins, bien qu'il y ait beaucoup de documentation suggérant que tout peut être utilisé ensemble (et ici ). Cependant, lorsqu'il est utilisé avec Jenkins, il semble être davantage axé sur un pont de déploiement. J'espérais pouvoir l'utiliser comme agent de build avec Jenkins comme orchestrateur, comme je pourrais le faire avec Jenkins & AWS CodeBuild. Je n'ai encore rien vu suggérant que je pourrais le faire pour le moment, mais peut-être ... Les déploiements multi-cloud sont cependant très intrigants ...


2
  1. Oui, car Azure Pipelines peut faire ce que Jenkins fait. Cependant, vous n'avez pas à jeter le bébé avec l'eau du bain. Microsoft continue de positionner ses plates-formes de telle sorte que les intégrations puissent se produire avec des installations existantes de presque n'importe quoi. De nombreuses organisations ont d'énormes investissements dans l'outillage qui sont difficiles à changer. Plutôt que de prendre une position tout ou rien, Microsoft adopte des normes et une mentalité de vous-même, vous donnant le choix ultime quant à la façon dont vous souhaitez mettre en œuvre les outils.

  2. Techniquement, les agents sont votre pipeline lorsque les tâches s'exécutent sur les agents ciblés dans le pipeline. Tout ce que vous configurez dans le portail sont les étapes que le pipeline exécutera. Les agents téléchargent les outils / extensions nécessaires à l'exécution des tâches. De plus, avec les nouveaux pipelines YAML, les pipelines sont définis dans votre référentiel de code. En ce qui concerne l'hébergement, vous pouvez héberger Azure DevOps Server entièrement sur site, au sein de n'importe quel fournisseur de cloud, ou une combinaison de machines virtuelles Azure et Azure SQL.

  3. Les référentiels Git génériques sont pris en charge dans les services Azure DevOps à l'aide de l'éditeur classique ou à la fois de YAML et de l'éditeur classique si vous utilisez Azure DevOps Server (sur site) pour le moment. Vous pouvez ajouter l' intégration du référentiel GitLab en installant l'extension.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.