Les outils sur le marché
En termes de micro services, la diversité est aussi une faiblesse si vous ne savez pas vous y prendre. Pour un seul concept, ne soyez pas surpris de retrouver des milliers d'implémentations. Ce qui est normal puis que tout le monde ne regarde pas desfois dans la même direction.
Cependant, il est nécessaire de souligner qu'il ne sert à rien d'apprendre tous les outils qui existent dans des domaines. Soyez rassuré que vous ne finirez pas de le faire et vous allez perdre du temps pour rien. L'essentiel est de comprendre le concept fondamental à fond et apprendre de nouveaux outils sur le tas.
Ceci dit, il y beaucoup de players sur le marché de l'intégration continue. Nous allons juste vous détailler quelques majeurs et connus. Sachez que chaque jours que Dieu fait, de nouveaux outils paraissent. Juste pour information, hier nous avons appris qu'un nouvel outil CI est sorti. Il s'agit de Tekton basé sur Kubernetes et qui à déjà une certification donnomée Pipelines with Tekton.
Jenkins
Jenkins CI/CD est surement l'un des plus anciens outils CI/CD opensource sur le marché. Il est apparu depuis 2011 est resté longtemps populaire dans le domaine. Il est écrit en Java et est basé sur les concepts construction par tâche. Il est entièrement gratuit et peut être installé de plusieurs façons.
| Libellé | Description |
|---|---|
| Site officiel | https://www.jenkins.io |
| Documentation | https://www.jenkins.io/doc |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportées | Windows, Linux |
Travis CI
Travis CI est aussi l'un des plus anciens dans le domaine. Personnellement, c'est le premier outils qui m'a fait découvrir le domaine. Il y a de cela un moment, quand vous analysez les repertoires de projets GitHub, vous retrouvez le fichier .travis.yml de présent! Par curiosité, si vous cherchez, vous tombez sur le site de Travis CI. Travis reste quand même l'un des plus performants et les plus stables.
Au début, il avait une offre gratuite pour démarrer mais elle a été supprimée.
| Libellé | Description |
|---|---|
| Site officiel | https://www.travis-ci.com |
| Documentation | https://www.travis-ci.com/getting-started |
| Frais d'abonnement | 64 USD / Utilisateur / Mois |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportés | Linux, Mac OS |
Circle CI
Circle CI est surement l'un des outils CI les plus utilisés aujourd'hui. Il offre beaucoup de fonctionnalités et une documentation riche. Il a une offre cloud gratuite pour commencer et des abonnements mensuels abordables.
| Libellé | Description |
|---|---|
| Site officiel | https://circleci.com |
| Documentation | https://circleci.com/resources |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportés | Linux |
GitHub Actions
GitHub Actions est peut être le plus avancé et le plus équipé des plateformes CI/CD. Pour l'instant, il ne peut construire que les projets hébergés sur Github. Il n'est pas opensource mais il possède des offres gratuites et offre une performance de qualité. Il vous permet de construire des tâches sur des plateformes peu supportés en matière de conteneur comme le Mac OS de Apple, Windows.
Si vous developpez des applications mobiles ou des applications multiplateforme, GitHub Actions peut être un bon choix en ce sens que vous allez avoir accès à beaucoup de facilités par défaut.
Le seul inconvénien est que son offre est limitée. Pour avoir accès à plus, il faut souscrire à un abonnement ou à une offre entreprise.
| Libellé | Description |
|---|---|
| Site officiel | https://github.com/features/actions |
| Documentation | https://docs.github.com/en/actions |
| Frais d'abonnement | VARIABLE (0.008 USD / Minutes au minimum) |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportées | Windows, Mac OS, Linux |
GitLab CI
GitLab CI est la plateforme CI de GitLab. Il offre beaucoup de fonctionnalités mais reste limité sur les forfaits de base qui sont gratuits. Pour l'instant, il ne peut construire que les projets hebergés sur GitLab.
| Libelle | Description |
|---|---|
| Site officiel | https://about.gitlab.com/solutions/continuous-integration |
| Documentation | https://docs.gitlab.com/ee/ci |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportées | Linux |
Team City
Team City est l'outil CI/CD du puissant constructeur d'IDE Jetbrains. Annoncé à grands pas, il n'a pas totalement convaincu les utilisateurs malgré les performances. Cet état de fait peut être du au fait qu'il est apparu tardivement sur le marché alors que d'autres outils sont déjà arrivé à maturité.
Marlgré tout, il reste très populaire et très utilisé. Il est gratuit si vous souhaitez héberger son serveur vous même et payant si vous souhaitez utiliser le cloud ou la version entreprise.
| Libellé | Description |
|---|---|
| Site officiel | https://www.jetbrains.com/fr-fr/teamcity |
| Documentation | https://www.jetbrains.com/fr-fr/teamcity/learn |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportées | Windows, Mac OS, Linux |
Tekton
Tekton est peut-être le cadet des outils CI/CD actuellement. Il construit autour de l'écosystème Kubernetes et utilise des resources Kubernetes pour fonctionner. Il reste entierrement configurable. Ceux qui connaissent bien Kubernetes, seront à l'aise dans son utilisation. Il est entièrement gratuit et opensource.
| Libellé | Description |
|---|---|
| Site officiel | https://tekton.dev |
| Documentation | https://tekton.dev/docs |
| Difficulté d'apprentissage | MOYEN |
| Plateformes supportées | Linux |