Create a Gitlab CI procedure
This commit is contained in:
parent
f4f1b111fc
commit
bda4e04fee
40
.gitlab-ci.yml
Normal file
40
.gitlab-ci.yml
Normal file
@ -0,0 +1,40 @@
|
||||
stages:
|
||||
- build
|
||||
- publish
|
||||
- deploy
|
||||
|
||||
build-job:
|
||||
stage: build
|
||||
image: docker:stable
|
||||
tags:
|
||||
- docker
|
||||
script:
|
||||
- docker login --username="$REGISTRY_USER" --password="REGISTRY_PASSWORD" "$REGISTRY_BASE_URL"
|
||||
- docker -H unix:///var/run/docker.sock image build -t "$REGISTRY_BASE_URL/$DOCKER_IMAGE_NAME:$CI_COMMIT_SHORT_SHA" ./
|
||||
artifacts:
|
||||
- paths:
|
||||
- ~/.docker/
|
||||
|
||||
publish-job:
|
||||
stage: publish
|
||||
image: docker:stable
|
||||
tags:
|
||||
- docker
|
||||
script:
|
||||
- docker -H unix:///var/run/docker.sock image push "$REGISTRY_BASE_URL/$DOCKER_IMAGE_NAME:$CI_COMMIT_SHORT_SHA"
|
||||
|
||||
deploy-job:
|
||||
stage: deploy
|
||||
when: manual
|
||||
image: google/cloud-sdk
|
||||
script:
|
||||
- export KUBECONFIG="$KUBE_AUTH"
|
||||
- cp "$ENV_PRODUCTION" "./build/.env.production"
|
||||
- cp "$MYSQL_ENV" "./build/mysql-secret.env"
|
||||
- cp "~/.docker/config.json" "./build/.dockerconfigjson"
|
||||
- cd "./build"
|
||||
- kubectl apply -k ./
|
||||
- echo "Waiting for deployment..."
|
||||
- sleep 30
|
||||
- WEBSITE_POD=$(kubectl get pod -l "$KUBE_POD_LABELS" -n "$KUBE_NAMESPACE" -o jsonpath="{.items[0].metadata.name}")
|
||||
- kubectl delete -n "$KUBE_NAMESPACE" pod "$WEBSITE_POD"
|
||||
Loading…
Reference in New Issue
Block a user