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 kind: pipeline
name: deploy-to-k3s name: full-devops-stack
steps: steps:
# Étape 1 : Les tests (Node.js est automatiquement inclus dans l'image choisie) # Étape 1 : Build & Push l'image vers le registre Gitea
test: build-and-publish:
image: node:18-alpine image: banzaicloud/kaniko-plugin
commands: settings:
- node -v registry: gitea.213.165.95.242.sslip.io
- npm install repo: gitea_admin/hello-world
- echo "Tests réussis !" 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) # Étape 2 : Déploiement sur K3s
deploy: deploy-to-k3s:
image: bitnami/kubectl:latest image: bitnami/kubectl:latest
environment: environment:
# On passe le Kubeconfig via un secret Woodpecker (à créer dans l'UI) KUBE_CONFIG:
KUBECONFIG_DATA:
from_secret: k3s_kubeconfig from_secret: k3s_kubeconfig
commands: commands:
- mkdir -p ~/.kube - mkdir -p ~/.kube
- echo "$KUBECONFIG_DATA" > ~/.kube/config - echo "$KUBE_CONFIG" > ~/.kube/config
- kubectl apply -f deployment.yaml -n devops-tools # On force la mise à jour de l'image avec le tag du commit actuel
- kubectl rollout status deployment/hello-k3s -n devops-tools - 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: when:
branch: main
event: push event: push
branch: main