Actualiser .woodpecker/pipeline.yml

This commit is contained in:
2026-04-01 18:26:01 +00:00
parent 6031e91b6f
commit d86e10d3ff

View File

@@ -1,29 +1,34 @@
kind: pipeline
name: deploy-to-k3s
name: full-devops-stack
steps:
# Étape 1 : Les tests (Node.js est automatiquement inclus dans l'image choisie)
test:
image: node:18-alpine
commands:
- node -v
- npm install
- echo "Tests réussis !"
# Étape 1 : Build & Push l'image vers le registre Gitea
build-and-publish:
image: banzaicloud/kaniko-plugin
settings:
registry: gitea.213.165.95.242.sslip.io
repo: gitea_admin/hello-world
tags: latest,${CI_COMMIT_SHA:0:7}
username:
from_secret: registry_user
password:
from_secret: registry_password
# Pour autoriser le registre HTTP/auto-signé
extra_args: --insecure --skip-tls-verify
# Étape 2 : Le déploiement (Utilise une image avec kubectl déjà prêt)
deploy:
# Étape 2 : Déploiement sur K3s
deploy-to-k3s:
image: bitnami/kubectl:latest
environment:
# On passe le Kubeconfig via un secret Woodpecker (à créer dans l'UI)
KUBECONFIG_DATA:
KUBE_CONFIG:
from_secret: k3s_kubeconfig
commands:
- mkdir -p ~/.kube
- echo "$KUBECONFIG_DATA" > ~/.kube/config
- kubectl apply -f deployment.yaml -n devops-tools
- kubectl rollout status deployment/hello-k3s -n devops-tools
- 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
# Optionnel : Ne déclencher que sur la branche main
when:
branch: main
event: push
branch: main