Comparaison Drone vs Circle CI de serveurs à intégration continue

Drone

https://drone.io

Cercle CI

https://circleci.com Caractéristique unique

Personnalisation

Support Premium

Type de produit

SaaS / On Premise

SaaS, auto-hébergé / sur site

Offre un plan gratuit

Oui

La version en nuage est gratuite pour les projets open source. Offre également un plan gratuit pour tout projet, avec une limite de 5000 constructions par an. La version sur site est disponible sous forme d'image Docker.

Oui

Fournit un plan gratuit pour sa solution SaaS, pour un maximum de 1 000 minutes de construction par mois, un conteneur et un travail simultané. En plus de cela, il dispose d'un Free Tier spécial pour les projets open source, qui augmente le nombre de conteneurs et de travaux simultanés disponibles. Prix ​​prévisible

Oui

Tarification prévisible basée sur le nombre d'utilisateurs et de référentiels. Ils ont une calculatrice pour aider à déterminer le coût.

Oui

Fournit une calculatrice, basée sur le nombre de travaux et de conteneurs simultanés, qui peut être utilisée pour déterminer les prix avant l’achat. Ils donnent également une indication basée sur le nombre de développeurs que vous employez (2-3 conteneurs par développeur à temps plein). Support / SLA

N / A

Ce n'est pas clair quel est leur engagement de soutien. Ils ont une communauté assez active sur Discourse, pour le soutien de la communauté.

Oui

Bien que sa communauté ne soit pas aussi dynamique que celle de Jenkins, CircleCI propose même une assistance premium aux entreprises qui ne peuvent s’offrir aucune interruption de leur pipeline CI / CD (https://circleci.com/support/premium-support/). Pour les forfaits classiques, tous les forfaits, sauf le niveau gratuit, offrent un support par e-mail officiel. Le niveau gratuit inclut uniquement le support de la communauté (Discuter, StackOverflow, etc.). Paralellisme

Chaque serveur d'infrastructure tend à traiter cela différemment (matrice de construction parallèle, distribuée, parallèle). Certains ne sont que du marketing, d'autres des nuances. Pour cette table, parallèle signifie que les tâches peuvent être exécutées simultanément sur le même ordinateur. Distribué signifie que les tâches peuvent être mises à l'échelle horizontalement, sur plusieurs ordinateurs.

Comment fractionner des tests en parallèle de manière optimale avec Knapsack Pro

Oui

La configuration des tâches de pipeline permet d'exécuter des tâches en parallèle

Oui

CircleCI peut exécuter des constructions en parallèle, chacune dans un environnement complètement isolé à l'aide de conteneurs. Versions distribuées

Distribué signifie que les tâches peuvent être mises à l'échelle horizontalement, sur plusieurs machines.

Comment fractionner des tests en parallèle de manière optimale avec Knapsack Pro

Oui

Les pipelines peuvent être configurés pour s'exécuter sur plusieurs machines, bien qu'ils ne recommandent cette option que si la parallélisation des tâches et la mise à l'échelle verticale ne suffisent pas. Ils prennent même en charge la distribution multiplate-forme (c'est-à-dire l'exécution de tâches sur différents systèmes d'exploitation).

Oui

La version SaaS distribue les versions par défaut, tandis que la version auto-hébergée intègre tous les outils permettant de gérer le cluster de machines de construction. Conteneurs support / environnement de construction

Oui

Par défaut, ils offrent un support Docker pour les coureurs de travaux CI / CD.

Oui

CircleCI exécute chaque génération dans un conteneur, ou machine virtuelle, en assurant une étendue isolée et locale pour chaque génération. L'environnement est également réinitialisé à chaque génération, ce qui peut mettre en évidence des problèmes difficiles à suivre liés aux hypothèses relatives à l'environnement dans lequel le projet est déployé. Analytics / Vue d'ensemble du statut

L'analyse et la vue d'ensemble font référence à la capacité de voir d'un coup d'œil ce qui ne va pas (qu'il s'agisse d'une tâche donnée ou de la construction d'un projet spécifique)

Oui

Oui

Disponible par défaut dans Circle CI: https://circleci.com/docs/2.0/status/#section=jobs. De plus, le tableau de bord Insights fournit un aperçu très utile sur les temps de construction, les taux d'erreur et le statut de vos projets: https://circleci.com/docs/2.0/insights/#section=jobs Support de gestion

Est-il facile de gérer les utilisateurs / projets / attribuer des rôles et des autorisations, etc.

Oui

Ils offrent une documentation détaillée sur la gestion des utilisateurs et des serveurs. Cela peut être fait en grande partie via l’outil CLI de drone, qui semble être le point central de la documentation.

Non (partiel)

L'utilisation du plan Cloud pour Circle CI ne nécessite aucune personne dédiée à la maintenance / gestion du service. L'option CircleCI Server (auto-hébergée) est également simple, le processus d'installation et de gestion de CircleCI et ses dépendances étant automatisé. Les développeurs bénéficient également d’un accès SSH aux versions (et non à l’environnement complet), tandis que les administrateurs système peuvent travailler sur la machine hôte sans se soucier d’affecter les versions (conteneurisées). Option auto-hébergée

Oui

Oui

Plans hébergés / SaaS

Oui

Oui

Construire des pipelines

Un pipeline de livraison continue est une description du processus suivi par le logiciel, à partir d'un nouveau code validé, passant par des tests et d'autres étapes d'analyse statique jusqu'aux utilisateurs finaux du produit.

Oui

Pipelines facilement configurables via des fichiers YML.

Oui

Les pipelines dans CircleCI sont définis de manière déclarative à l'aide d'un fichier de configuration Yaml. CircleCI a des dispositions spéciales pour stocker des secrets dans ces fichiers. Rapports

Les rapports concernent la possibilité de voir des rapports spécifiques (tels que la couverture de code ou ceux personnalisés), mais pas nécessairement liés à un tableau de bord plus grand.

N / A

Oui

Les rapports sont disponibles Écosystème

Outre la documentation officielle et les logiciels, existe-t-il une grande communauté utilisant ce produit? Y a-t-il des outils / plugins communautaires que vous pouvez utiliser?

Oui

Drone CI permet d'intégrer des plugins dans le processus CI / CD. Ils ont une liste des plugins de communauté disponibles et fournissent une documentation sur la construction de vos propres. Les plugins sont des conteneurs Docker qui se connectent directement au processus CI / CD.

Aucun support de plugin dans CircleCI, plugins pour d'autres outils

Bien que CircleCI ne prenne pas en charge les plug-ins en mode natif, ses fonctionnalités principales traitent de toutes les fonctionnalités essentielles requises par un service CI / CD. Pour une intégration à d'autres plates-formes ou outils, il existe des intégrations telles que https://slack.com/apps/A0F7VRE7N-circleci. Certains emplois sont disponibles sous forme d’orbes CircleCI: https://circleci.com/orbs/ Support de langue spécifique: Ruby

Certains serveurs de CI ont un support intégré pour l'analyse de la sortie RSpec ou Istanbul, par exemple, et nous les mentionnons. D'autres facilitent encore plus la tâche en détectant Gemfiles ou package.json et en automatisant certaines parties du processus pour le développeur.

Non (partiel)

Pas de support spécifique, mais ils fournissent une documentation suffisante sur la mise en place d'un projet Ruby, y compris un exemple multiplateforme.

Oui

Pour la collecte des métadonnées de test et de la couverture, il existe un support intégré pour Ruby (en particulier, Cucumber et RSpec). L'installation prend très peu de temps et est bien documentée dans la documentation de CircleCI. Support de langue spécifique: JavaScript

Non (partiel)

Pas de support spécifique par une tierce partie, mais le marché des plug-ins comporte une création NPM et un plug-in d'authentification NPM.

Oui

Pour la collecte des métadonnées de test et de la couverture, le support Javascript est intégré. Pour la couverture de code, CircleCI comprend la sortie Istanbul (Jest utilise également Istanbul pour les rapports de couverture de code), tandis que pour les métadonnées de test, le format de sortie JUnit est pris en charge de manière native. Intégrations

Prise en charge par des outils communs (comme les notifications Slack, diverses plates-formes VCS, etc.)

Oui

S'intègre bien aux plates-formes de gestion de code source (support de tiers pour GitHub, GitLab, BitBucket) ainsi qu'à d'autres systèmes via des plugins tiers.

Oui

Disponible sous forme d'orbes CircleCI: https://circleci.com/orbs/ API

L'intégration personnalisée est disponible, via une API ou autrement, elle est mentionnée séparément car elle permet une personnalisation plus poussée que n'importe laquelle des options Ecosystem / Integration.

Oui

Drone fournit une API REST riche en fonctionnalités, ainsi qu'un Go SDK officiel.

Oui

La documentation de l'API REST est disponible à l'adresse https://circleci.com/docs/api/#api-overview. La création d'orbes est également documentée à l'adresse https://circleci.com/docs/2.0/orb-author/#introduction. Audit

Oui

N / A

Notes complémentaires

Le fait que Drone fonctionne avec n’importe quel gestionnaire de code source et qu’il puisse exécuter des tâches sur plusieurs plates-formes le distingue des autres. Très chouette!

Nous serions ravis de connaître votre avis

      Laisser un commentaire