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