39 lines
940 B
YAML
39 lines
940 B
YAML
stages:
|
|
- build
|
|
- deploy
|
|
|
|
variables:
|
|
DOCKER_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
|
|
DOCKER_IMAGE_LATEST: $CI_REGISTRY_IMAGE:latest
|
|
|
|
build:
|
|
stage: build
|
|
image: docker:24
|
|
services:
|
|
- docker:24-dind
|
|
before_script:
|
|
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
|
|
script:
|
|
- docker build -t $DOCKER_IMAGE -t $DOCKER_IMAGE_LATEST .
|
|
- docker push $DOCKER_IMAGE
|
|
- docker push $DOCKER_IMAGE_LATEST
|
|
only:
|
|
- main
|
|
- master
|
|
|
|
deploy:
|
|
stage: deploy
|
|
image: dtzar/helm-kubectl:latest
|
|
before_script:
|
|
- mkdir -p ~/.kube
|
|
- echo "$KUBE_CONFIG" | base64 -d > ~/.kube/config
|
|
- chmod 600 ~/.kube/config
|
|
script:
|
|
- echo "🚀 Déploiement du Portfolio..."
|
|
- kubectl apply -f k8s.yaml
|
|
- kubectl rollout restart deployment/portfolio-app -n portfolio-ns
|
|
- echo "✅ Déploiement terminé sur http://portfolio.theval.ovh"
|
|
only:
|
|
- main
|
|
- master
|