Académique Documents
Professionnel Documents
Culture Documents
FROM nginx:latest
COPY . /usr/share/nginx/html
image: docker:latest
services:
- docker:dind
stages:
- build
- deploy
variables:
DOCKER_DRIVER: overlay2
build:
stage: build
script:
- docker build -t $DOCKER_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHA .
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker push $DOCKER_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHA
deploy:
stage: deploy
image: alpine
script:
- apk add --no-cache curl
- curl -LO
<https://storage.googleapis.com/minikube/releases/latest/minikube-linux-
amd64>
- sudo install minikube-linux-amd64 /usr/local/bin/minikube
- minikube start
- kubectl create deployment $CI_PROJECT_NAME
--image=$DOCKER_USERNAME/$CI_PROJECT_NAME:$CI_COMMIT_SHA
- kubectl expose deployment $CI_PROJECT_NAME --type=LoadBalancer --
port=80 --target-port=80
- minikube service $CI_PROJECT_NAME
1. Enregistrez et poussez le fichier .gitlab-ci.yml dans le repository GitLab.
2. Dans le pipeline de GitLab, les étapes Build et Deploy devraient être exécutées
automatiquement. La première étape Build va construire une nouvelle image Docker
pour votre application web, puis la pousser sur Docker Hub. La deuxième étape
Deploy va démarrer Minikube, créer un déploiement Kubernetes pour votre
application web en utilisant l'image Docker construite dans la première étape, et
exposer votre application web sur un service LoadBalancer.
C'est tout ce qu'il y a à faire ! Vous devriez maintenant avoir un pipeline de CI/CD qui
construit, teste et déploie votre application web sur un cluster Kubernetes local en utilisant
GitLab, Docker, Docker Hub et Minikube.
1. Assurez-vous que vous avez les prérequis pour installer Minikube : un système
d'exploitation 64 bits compatible (Windows, macOS ou Linux), un hyperviseur
compatible (VirtualBox ou Hyper-V pour Windows, HyperKit pour macOS, KVM ou
VirtualBox pour Linux) et une installation récente de Docker.
2. Téléchargez le binaire Minikube correspondant à votre système d'exploitation à partir
du site officiel : https://minikube.sigs.k8s.io/docs/start/.
3. Installez le binaire en suivant les instructions fournies dans la documentation.
4. Démarrez Minikube en exécutant la commande suivante :
minikube start
Cela démarrera un cluster Kubernetes local avec une seule node. Si tout se passe bien, vous
devriez voir un message de confirmation indiquant que le cluster est prêt.
Cette commande configura votre shell pour utiliser l'environnement Docker de Minikube.
1. Construisez votre image Docker pour votre application web en utilisant la commande
suivante :
Assurez-vous que le nom de l'image correspond à celui que vous utilisez dans votre fichier
.gitlab-ci.yml.
Encore une fois, assurez-vous que le nom de l'image correspond à celui que vous utilisez dans
votre fichier .gitlab-ci.yml.
Cela créera un service LoadBalancer qui exposera votre application web sur un port public.
Cela affichera l'URL publique de votre application web. Ouvrez cette URL dans votre
navigateur pour accéder à votre application web.
C'est tout ce qu'il y a à faire ! Vous avez maintenant configuré Minikube pour votre projet et
déployé votre application web sur un cluster Kubernetes local.