diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..d862422d78267f9bbc4bdb51132765e98a9bffaf --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,47 @@ +stages: + - build + - push + - deploy + +variables: + IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA + +# Docker build +build_image: + stage: build + image: docker:24.0 + services: + - docker:24.0-dind + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker build -t $IMAGE_TAG . + only: + - main + +# Push to registry +push_image: + stage: push + image: docker:24.0 + services: + - docker:24.0-dind + script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker push $IMAGE_TAG + only: + - main + needs: [build_image] + +# Deploy to Kubernetes (optional, requires kubectl config) +# deploy: +# stage: deploy +# image: +# name: bitnami/kubectl:latest +# entrypoint: [""] +# script: +# - echo "$KUBECONFIG" > kubeconfig.yaml +# - export KUBECONFIG=$CI_PROJECT_DIR/kubeconfig.yaml +# - kubectl config get-contexts +# - kubectl set image deployment/mon-deploiement mon-container=$IMAGE_TAG --namespace=mon-namespace +# only: +# - main +# needs: [push_image]