Comme nous le savons, Jenkins 2.0 a été publié et il va au-delà de l’intégration continue (CI) à la livraison continue (CD). Je voudrais donc demander quels sont les avantages concurrentiels de Spinnaker par rapport à Jenkins 2.0?
Réponses
Trop de publicités?Je travaille beaucoup sur l'Jenkins intégration dans les Spi et les Pipelines de fonctionnalité à Netflix.
Spi n'a jamais été destiné à être un bout à l'outil de construction. Il y a des choses que Jenkins va faire mieux en termes de gestion de SMC, exécution des tests, la construction des paquets, ont gazillion plugins, etc, etc, etc.
La chose qui Spinnaker essaye de bien faire, est de prendre un morceau de logiciel que vous avez publié (soit un paquet debian, un docker de l'image, ou une image du POT) et le lancer à travers un prévisible de déploiement de logiciels cycle qui est hautement personnalisable. En d'autres termes, chaque entité de Spi est construit pour être facile à faire, très disponible, multi-comptes, multi-cloud artefact de déploiement.
Spinnaker pipelines prendre un nuage centré sur l'affichage. La plupart de nos étapes du pipeline et de l'API contrôles sont concernés par la création de nouveaux groupes de serveurs et de modifier les groupes de serveurs dans une manière prévisible et convivial. En cas de doute, c'est le cas, nous l'optimiser.
Nous avons des opinions plus fortes autour de la façon dont le déploiement en nuage ressemble et nous ont souvent un point-and-click INTERFACE utilisateur lorsque vous traitez avec des nuages de tâches de déploiement dans notre CD de pipelines --- trouver l'image dans le groupe x, désactivez ce cluster, redimensionner un groupe de serveurs, réduire ce cluster, font de cet amas, prendre de la circulation, de détruire cette ancienne cluster, etc.
Jenkins pipeline fonctionnalité n'était pas disponible pour nous lorsque nous avons commencé à écrire de la Spi+ de 2 ans, nous avons donc construit les fonctionnalités dont nous avions besoin. Le Jenkins soutien nous avons évolué à partir de nos besoins et d'aider d'autres équipes à Netflix construire des milliers de déploiement des pipelines en interne. Depuis Netflix repose sur Jenkins fortement pour la construction et l'essai, la transition entre Jenkins emplois et de Spinnaker étapes est assez homogène.
Il y a des équipes à Netflix qui n'utilisent pas le Spi fonctionnalité de pipeline et au lieu d'utiliser le Spi de l'API dans leur Jenkins emplois en tant que raccourci pour la déployer sur AWS. Si vous utilisez Jenkins pipelines ou similaire CD outils, Spinnaker rend votre phase de déploiement vraiment flexible.
Nous avons aussi des équipes qui aime la façon dont le Spi se décompose Jenkins emplois en atomique, réutilisable tâches autour d'une application. Les équipes qui n'ont pas la déployer sur le cloud, l'utilisation de Spinnaker, car de nos pipelines s'adapter à leurs besoins mieux que ce qu'ils peuvent trouver le Jenkins monde.
Jenkins pipelines sont très soigné. Je ne pense pas que Spinnaker pourra jamais remplacer complètement Jenkins et les millions de choses qu'il fait. Notre objectif est simplement de faire de la "déployer sur le cloud" pas plus simple et plus extensible. Le choix d'utiliser l'un sur l'autre, ensemble, ou pas du tout, c'est à vous.
Il ya quelques raisons pour lesquelles vous pourriez choisir de Spinnaker sur Jenkins (2.0) de Pipeline comme un lecteur de CD de l'outil:
- Spinnaker comprend une INTERFACE web qui peuvent réellement disposition des ressources, et de le faire dans de multiples environnements de cloud. Afin de créer des ressources de base comme les VM, les équilibreurs de charge, clusters, etc. vous êtes en mesure de le faire à partir de la même INTERFACE utilisateur que votre livraison de l'outil.
- Si votre architecture est similaire à Netflix est, Netflix utilise ce que la totalité de leur plate-forme de gestion du cloud, de sorte que peu ou pas besoin de vautrée outils à l'appui de votre prestation et de la gestion des infrastructures.
D'autre part, il y a de nombreuses raisons de choisir Jenkins Pipeline au cours de Spinnaker
- Spinnaker nécessite encore un outil de construction, de sorte que vous pouvez avoir besoin pour maintenir Jenkins, de toute façon. Donc, si Jenkins Pipeline devient votre lecteur de CD de l'outil, il peut nativement effectuer votre exécuteur de tâches spécifiques déjà.
- Spi a pas fine des contrôles d'accès (et seulement récemment ajouté l'authentification de toute nature), alors que Jenkins a de nombreux plugins et les configurations natives au sein de Pipeline à l'offre de ressources-niveau de contrôle d'accès.
- Tout est piloté par un seul script groovy, il est donc vrai de configuration en tant que code. Il permet, par simple flux/logique/contrôle qui n'est pas possible (ou au moins facile) dans d'autres CD d'outils.
- Multi-direction de la canalisation de soutien, de facilement créer/supprimer/modifier des branches
- Vaste plug-in de soutien pour Jenkins déjà. Par exemple, nous utilisons les AWS ECS Plugin pour permettre dynamique docker nœuds de nos pipelines.
- Facilement partager et collaborer sur code vers des pipelines. Vous aurez certainement réutilisables fonctions que vous souhaitez utiliser sur plusieurs pipelines, Jenkins rend ce facile avec des outils tels que la Distance du Chargeur de Plugin
- Grand soutien de la communauté
Nous avons finalement opté pour Jenkins 2.0 Pipeline CD outil au-dessus de Spi et de plusieurs autres.
Nous utiliser Maven pour emballer ensemble de la base de code avec les configs , les propriétés ( c'est à dire tout ce qui est versionné sur GitHub ) et de créer un RPM hors de lui. Avec ce flux de fin de nous déclencher Spinnaker pipelines dans AWS ou de tout autre nuage pour lancer la partie CD-rom.
Spi est très unique avec ce CD portée.
Code de promotion : même RPM qui nous permettra de promouvoir garantit que nous faisons de notre code sous-jacent / env immuable.
Nous pouvons contrôler le redimensionnement des instances à partir de la console elle-même, Spinnaker
Rouleau arrière est juste un clic.
Tous les déploiement de concepts comme le Bleu-vert / Rouge-Noir , Canaries , highlander, etc. est OOB ici.
Pipeline journaux donne une très perspicace vue , à la fois de haut niveau et de bas niveau
Multi région déploiements ( DR stratégique )
si quelqu'un a besoin d'une aide ( aide gratuite! ) sur l'installation de Spi dans RHEL , vous pouvez me le faire savoir.
Mais je dois dire que nous utilisons Spi uniquement pour le cloud centrée sur les déploiements.