35 lines
1.5 KiB
YAML
35 lines
1.5 KiB
YAML
name: CI/CD Pipeline
|
|
on: [push]
|
|
jobs:
|
|
pipeline-execution:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Configuration de Buildx pour autoriser le registre local
|
|
uses: docker/setup-buildx-action@v2
|
|
with:
|
|
config-inline: |
|
|
[registry."registry-service.container-registry.svc.cluster.local:5000"]
|
|
http = true
|
|
insecure = true
|
|
|
|
- name: Compiler et Envoyer au registre privé
|
|
run: |
|
|
docker buildx build --push -t registry-service.container-registry.svc.cluster.local:5000/apps/microservice-sample:latest .
|
|
|
|
- name: Déployer sur Kubernetes (Méthode Avancée DinD)
|
|
run: |
|
|
# 1. Appliquer le déploiement
|
|
cat k8s-deployment.yaml | docker run -i --rm --network host \
|
|
-v /var/run/secrets/kubernetes.io/serviceaccount:/var/run/secrets/kubernetes.io/serviceaccount \
|
|
-e KUBERNETES_SERVICE_HOST=kubernetes.default.svc \
|
|
-e KUBERNETES_SERVICE_PORT=443 \
|
|
bitnami/kubectl:latest apply -f -
|
|
|
|
# 2. Redémarrer le service
|
|
docker run -i --rm --network host \
|
|
-v /var/run/secrets/kubernetes.io/serviceaccount:/var/run/secrets/kubernetes.io/serviceaccount \
|
|
-e KUBERNETES_SERVICE_HOST=kubernetes.default.svc \
|
|
-e KUBERNETES_SERVICE_PORT=443 \
|
|
bitnami/kubectl:latest rollout restart deployment/microservice-sample |