41 lines
1.5 KiB
YAML
41 lines
1.5 KiB
YAML
kind: pipeline
|
|
name: full-devops-stack
|
|
|
|
steps:
|
|
# Étape 1 : Build & Push l'image vers le registre Gitea
|
|
build-and-publish:
|
|
image: gcr.io/kaniko-project/executor:debug # Version debug pour avoir le shell
|
|
environment:
|
|
REGISTRY_USER:
|
|
from_secret: registry_user
|
|
REGISTRY_PASS:
|
|
from_secret: registry_password
|
|
commands:
|
|
# 1. Créer le fichier d'auth Docker pour Gitea
|
|
- echo "{\"auths\":{\"gitea.213.165.95.242.sslip.io\":{\"username\":\"$REGISTRY_USER\",\"password\":\"$REGISTRY_PASS\"}}}" > /kaniko/.docker/config.json
|
|
# 2. Lancer Kaniko avec le flag --force explicitement
|
|
- /kaniko/executor
|
|
--context $CI_WORKSPACE
|
|
--dockerfile $CI_WORKSPACE/Dockerfile
|
|
--destination gitea.213.165.95.242.sslip.io/gitea_admin/hello-world:${CI_COMMIT_SHA:0:7}
|
|
--insecure
|
|
--skip-tls-verify
|
|
--force
|
|
|
|
# Étape 2 : Déploiement sur K3s
|
|
deploy-to-k3s:
|
|
image: bitnami/kubectl:latest
|
|
environment:
|
|
KUBE_CONFIG:
|
|
from_secret: k3s_kubeconfig
|
|
commands:
|
|
- mkdir -p ~/.kube
|
|
- echo "$KUBE_CONFIG" > ~/.kube/config
|
|
# On force la mise à jour de l'image avec le tag du commit actuel
|
|
- kubectl set image deployment/hello-k3s node-app=gitea.213.165.95.242.sslip.io/gitea_admin/hello-world:${CI_COMMIT_SHA:0:7} -n devops-tools --insecure-skip-tls-verify
|
|
- kubectl rollout status deployment/hello-k3s -n devops-tools --insecure-skip-tls-verify
|
|
|
|
when:
|
|
event: push
|
|
branch: main
|