Vous êtes sur la page 1sur 3

Bien sûr, je suis là pour vous aider à construire un pipeline de CI/CD avec votre application

web. Voici les étapes à suivre :

1. Créez un nouveau repository GitLab pour votre application web.


2. Clonez le repository sur votre machine locale et ajoutez votre fichier HTML et CSS à
l'intérieur.
3. Créez un fichier Dockerfile à la racine de votre repository avec le contenu suivant :

FROM nginx:latest
COPY . /usr/share/nginx/html

1. Connectez-vous à Docker Hub et créez un nouveau repository pour votre image


Docker.
2. Configurez GitLab pour se connecter à votre compte Docker Hub en utilisant les
instructions fournies dans la documentation.
3. Créez un fichier .gitlab-ci.yml à la racine de votre repository avec le contenu
suivant :

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.

Pour installer Minikube, vous pouvez suivre ces étapes :

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.

1. Configurez votre projet pour utiliser le cluster Minikube en exécutant la commande


suivante :

eval $(minikube docker-env)

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 :

docker build -t myapp .

Assurez-vous que le nom de l'image correspond à celui que vous utilisez dans votre fichier
.gitlab-ci.yml.

1. Créez un déploiement Kubernetes pour votre application web en utilisant la


commande suivante :
kubectl create deployment myapp --image=myapp

Encore une fois, assurez-vous que le nom de l'image correspond à celui que vous utilisez dans
votre fichier .gitlab-ci.yml.

1. Exposez votre application web sur un service LoadBalancer en utilisant la commande


suivante :

kubectl expose deployment myapp --type=LoadBalancer --port=80 --target-


port=80

Cela créera un service LoadBalancer qui exposera votre application web sur un port public.

1. Obtenez l'URL du service en exécutant la commande suivante :

minikube service myapp --url

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.

Vous aimerez peut-être aussi