middle-admin-ant/.gitlab-ci.yml

83 lines
2.7 KiB
YAML

stages: # List of stages for jobs, and their order of execution
- build
- deploy-dev
# - deploy-test
- deploy-prod
variables:
REGISTRY_GITLAB: registry.gitlab.com/seasoul/mes-antd-admin
BUILD_NUMBER: ${CI_COMMIT_SHORT_SHA}-${CI_PIPELINE_ID}
KUBE_CONFIG: /etc/deploy/config
cache:
paths:
- ./mod_cache/
build-rpc-job: # This job runs in the build stage, which runs first.
stage: build
image: tico/docker:latest
tags:
- k8s-runner
variables:
NAME: antd-admin
PORT: 8080
APP_NAME: antd-admin
script:
- ls
- mkdir -p ./.ssh
- mv $SSH_PRIVATE_KEY ./.ssh/id_rsa
- chmod 600 ./.ssh/id_rsa
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN registry.gitlab.com
# 如果是登录私有仓库则需要更换如下代码:
- docker build -f Dockerfile -t $APP_NAME:v${BUILD_NUMBER} . --network=host #编译成镜像
- docker tag $APP_NAME:v${BUILD_NUMBER} $REGISTRY_GITLAB/$APP_NAME:v${BUILD_NUMBER} #将镜像加上tag
- docker push $REGISTRY_GITLAB/$APP_NAME:v${BUILD_NUMBER} #提交到镜像仓库
- docker tag $APP_NAME:v${BUILD_NUMBER} $REGISTRY_GITLAB/$APP_NAME:latest #将镜像加上tag
- docker push $REGISTRY_GITLAB/$APP_NAME:latest #提交到镜像仓库
after_script:
- docker rmi $APP_NAME:v${BUILD_NUMBER} #删除镜像
- docker rmi $REGISTRY_GITLAB/$APP_NAME:v${BUILD_NUMBER} #删除镜像
- docker images|grep none|awk '{print $3}'|xargs docker rmi # 清理无tag的镜像
# - docker rm $(docker ps --all -q -f status=exited) # 清理容器
deploy-rpc-dev-job:
stage: deploy-dev
image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6
tags:
- k8s-runner
script:
- mkdir -p /etc/deploy
- echo $kube_config |base64 -d > $KUBE_CONFIG
- kubectl get nodes
- kubectl apply -f deploy/mes-antd-admin-dev.yaml # 部署测试环境
# deploy-rpc-test-job:
# stage: deploy-dev
# image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6
# tags:
# - k8s-runner
# script:
# - mkdir -p /etc/deploy
# - mv $kube_config $KUBE_CONFIG
# - kubectl get nodes
# - kubectl apply -f deploy/mes-antd-admin-test.yaml # 部署灰度测试环境
deploy-rpc-prod-job:
stage: deploy-prod
image: registry.cn-hangzhou.aliyuncs.com/haoshuwei24/kubectl:1.16.6
tags:
- k8s-runner
script:
- mkdir -p /etc/deploy
- echo $kube_config |base64 -d > $KUBE_CONFIG
- kubectl get nodes
- kubectl apply -f deploy/mes-antd-admin-prod.yaml # 部署正式环境