Concepts DevOps:
DevOps est un ensemble de pratiques, d'outils et de philosophies culturelles qui vise à réduire le cycle de vie du
développement de systèmes et à fournir des livraisons continues de haute qualité qui ajoutent de la valeur au business. Il
favorise une collaboration étroite entre les équipes de développement de logiciels et les équipes d'opérations informatiques.
Lien entre l’agilité et DevOps:
L'agilité et DevOps sont complémentaires. L'agilité se concentre sur la flexibilité dans le développement de logiciels et la
capacité de s'adapter rapidement aux changements. DevOps étend cette agilité à l'ensemble du cycle de vie du logiciel, y
compris les opérations, en favorisant la communication continue, la collaboration et l'intégration entre les développeurs et les
opérations.
Caractéristiques de la méthodologie DevOps (CALMS):
CALMS est un acronyme qui décrit les principaux piliers de DevOps :
Culture : Promouvoir une culture de collaboration et de partage des responsabilités entre les équipes.
Automatisation : Automatiser les processus de déploiement et de test pour réduire les erreurs manuelles et
accélérer le développement.
Lean : Appliquer des principes lean pour améliorer continuellement les processus et éliminer le gaspillage.
Measurement : Mesurer tout, des performances de l'application à l'efficacité des équipes, pour prendre des
décisions basées sur les données.
Sharing : Partager les connaissances et les feedbacks pour améliorer continuellement le processus et le produit.
Configuration de Git pour GitLab CI:
Pour configurer Git en vue de l'utiliser avec GitLab CI, vous devez d'abord créer un projet dans GitLab, puis cloner le dépôt sur
votre machine locale. Ensuite, vous devriez configurer les variables d'environnement et les clés SSH pour sécuriser la connexion
entre votre machine locale et GitLab.
Architecture de base d’un pipeline CI/CD: Un pipeline CI/CD typique comprend les étapes suivantes :
Intégration Continue (CI) : Automatiser le processus de test du code pour vérifier que les modifications
n'introduisent pas de bugs.
Livraison Continue (CD) : Automatiser le déploiement du code approuvé vers des environnements de pré-
production ou de production.
Manipulation d’un pipeline: Les pipelines peuvent être démarrés automatiquement lors d'un push dans le
dépôt ou manuellement via l'interface GitLab. Ils peuvent également être arrêtés ou supprimés si nécessaire,
souvent par des commandes via l'interface utilisateur de GitLab ou via des commandes GitLab CI spécifiques.
Configuration du CI/CD avec le fichier gitlab-ci.yml:
Le fichier gitlab-ci.yml est un fichier YAML qui définit la configuration de votre pipeline CI/CD pour GitLab. Il spécifie
les scripts à exécuter, les étapes du pipeline, les artefacts à conserver, et d'autres paramètres de pipeline.
Workflow du pipeline:
Le workflow d'un pipeline CI/CD typique pourrait être le suivant :
Commit : Les changements sont commités dans le dépôt.
Build : Le projet est construit dans un environnement isolé.
Test : Des tests sont exécutés sur le build.
Deploy : Si les tests passent, le build est déployé dans l'environnement de pré-production ou de production.
Feedback : Le feedback est recueilli et utilisé pour améliorer le processus et le produit.
Chaque étape est définie dans le fichier gitlab-ci.yml et exécutée par les runners GitLab CI.