40 lines
1.2 KiB
YAML
40 lines
1.2 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
|
|
environment:
|
|
DOCKER_USERNAME:
|
|
from_secret: registry_user
|
|
DOCKER_PASSWORD:
|
|
from_secret: registry_password
|
|
settings:
|
|
registry: gitea.213.165.95.242.sslip.io
|
|
repo: gitea_admin/hello-world
|
|
tags: latest,${CI_COMMIT_SHA:0:7}
|
|
username:
|
|
from_secret: docker_username
|
|
password:
|
|
from_secret: docker_password
|
|
# Pour autoriser le registre HTTP/auto-signé
|
|
extra_args: --force --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
|