Files
hello-world/.woodpecker/pipeline.yml

35 lines
1.1 KiB
YAML

kind: pipeline
name: full-devops-stack
steps:
# É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 : 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