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