Objectif :
- Prendre en main Bitbucket Pipeline pour réaliser des CI / CD
Tâches à faire :
-
[x] Créer un repository Git sur Bitbucket avec une application Php qui expose le port 80 et retourne { “message”: “Hello World” } lorsque l’on tape l’api sur /
-
[x] Containerisation de l’application PHP
- [x] Création image Docker php
- [x] Création docker-compose.yml pour lancer l’image Docker en local
-
[x] Créer un registre docker sur dockerhub pour l’application
-
[x] Installation docker et docker compose sur la vm via Ansible
Critères d’acceptation
- [x] Le code Ansible doit installer docker sur la VM ubuntu sans erreur en utilisant le role de geerlinguy
- [x] Le playbook ansible doit lancer le docker-compose sur la vm sans erreur
- [x] Le paybook ansible doit avoir 0 change si l’on applique 2 fois le playbook sur la vm
- [x] le README.md du repo doit contenir les commandes pour configurer et lancer le playbook ansible avec succès
-
[x] Mise en place CI / CD (Bitbucket Pipeline) dans fichier bitbucket-pipelines.yml
Prérequis :
Se déclenche quand :
CI / CD :
- [x] Build :
- [x] Login to docker registry
- [x] Build l’image docker
- [x] Release :
- [x] Docker tag image
- [x] Docker push image sur docker hub
- [x] Deploy :
- [x] Mise à jour docker-compose sur la vm avec Ansible
Remarques :
- Penser à ajouter les données confidentielles dans le secret manager de Bitbucket Pipeline
-
[x] Tester la CI / CD
-
[ ] Montrer à Kévin
Documentation importante :
Configure bitbucket-pipelines.yml | Bitbucket Cloud | Atlassian Support
Exemples de fichier bitbuckets pipeline :