Automatisation & CI/CD
Méthodes CI/CD et outils d'automatisation de tâches.
Versionning
Git
Git est un client pour les logiciels de versioning basés sur Gitlab ou GitHub
Gitlab
GitLab est un logiciel de versioning de code open source auto-hébergeable, avec une interface web et des fonctionnalités d'aide au développement et à l'intégration logicielle.
Orchestration / Gestion de configuration
Ansible
Ansible est un outil d'orchestration permettant de déployer des configurations sur des nœuds distants via le protocole SSH. Son intérêt principal réside dans son approche déclarative qui simplifie le développement des playbooks :
- Lisibilité : Les playbooks décrivent clairement l’état souhaité, sans se perdre dans les détails d’implémentation.
- Idempotence : Les playbooks peuvent être exécutés plusieurs fois sans risque, Ansible ne réalisant que les changements nécessaires.
- Maintenabilité : Les playbooks sont plus faciles à maintenir et à faire évoluer que des scripts shell complexes.
Formations / tutoriels
📕 Apprendre à utiliser Ansible (OpenClassRoom)
📕 Apprendre à utiliser Ansible (MicroLinux)
Debug
Outils
Puppet
Puppet est un outil d'orchestration comme Ansible, mais utilisant un agent sur les nœuds
Salt
Salt est un outil d'orchestration comme Ansible, mais utilisant un agent sur les nœuds
Automatisation de flux
n8n
n8n est un workflow d'automatisation Open Source très puissant basé sur NodeJS.
Déploiement de machines virtuelles
Outils d'automatisation de déploiement de machines virtuelles.
Vagrant
Vagrant est un utilitaire de déploiement et de provisionnement automatique de machines virtuelles locales. Il permet de créer des environnements de tests ou de formation très rapidement à partir d'images systèmes existantes (générées avec Packer).
[Débug] Ajouter une carte réseau en accès par pont (bridge) à une VM avec Vagrant
Packer
Packer permet de générer des images systèmes préconfigurées pour être déployées sur une plateforme de virtualisation (VirtualBox, VMWare, Microsoft Azure, AWS EC2…)
Terraform
Terraform permet d'automatiser le déploiement d'environnements informatiques préconfigurés dans le cloud.
📖 Documentation officielle Terraform
Terraformer : Créer un fichier Terraform à partir d'une infrastructure existante