fastapi-template/.gitlab-ci.yml

40 lines
993 B
YAML

variables:
PROJECT_NAME: fastapi_app_template
DOCKER_IMAGE_DOMAIN: 192.168.2.237:8088
LATEST_VERSION: latest
K8S_NS: default
DEPLOYMENT_NAME: fastapi-app-template
before_script:
- PATH=.:$PATH
- IMAGE_NAME=${DOCKER_IMAGE_DOMAIN}/library/${PROJECT_NAME}:${LATEST_VERSION}
stages:
- build
- deploy
build-staging:dep:
stage: build
only:
- master
tags:
- master
script:
- echo "===== start build =========="
- docker build -t ${IMAGE_NAME} .
- docker push ${IMAGE_NAME}
- docker rmi ${IMAGE_NAME}
- echo "===== end build !!!!!! ====="
deploy-staging:dep:
stage: deploy
tags:
- master
script:
- echo "===== start deploy =========="
- echo $CI_COMMIT_BRANCH
- if [[ $CI_COMMIT_BRANCH == 'master' ]] && [[ "$(kubectl get deployment -n $K8S_NS | grep $DEPLOYMENT_NAME | awk '{print $1}')" ]]; then
- kubectl rollout restart deployment $DEPLOYMENT_NAME -n $K8S_NS
- fi
- echo "===== end deploy !!!!!======="