Files
mchat/ai-chat-web/.gitlab-ci.yml
2026-04-06 11:38:45 +08:00

60 lines
1.5 KiB
YAML

variables:
DEPLOY_ENV: ''
DEPLOY_IMG: ''
REPO: 'chatgpt-frontend'
SERVICE_NAME: 'chatgpt-stack_chatgpt-frontend'
workflow:
rules:
- if: $CI_COMMIT_BRANCH == "dev" && $CI_PIPELINE_SOURCE == "push"
variables:
DEPLOY_ENV: 'dev'
DEPLOY_IMG: "${REPO}:${CI_COMMIT_SHORT_SHA}"
- if: $CI_COMMIT_TAG
variables:
DEPLOY_ENV: 'prod'
DEPLOY_IMG: "${REPO}:${CI_COMMIT_TAG}"
- when: never
stages:
# 编译阶段
- build
# 部署阶段(部署到测试环境/部署到生产环境)
- deploy
build-job:
stage: build
tags:
- builder
before_script:
- docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PWD} ${DOCKER_REGISTRY}
script:
- docker build -t ${DOCKER_REGISTRY}/${DEPLOY_IMG} .
- docker push ${DOCKER_REGISTRY}/${DEPLOY_IMG}
deploy-dev-job:
only:
variables:
- $DEPLOY_ENV == "dev"
stage: deploy
tags:
- deployer
variables:
CONF_RM_STR: ""
before_script:
- docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PWD} ${DOCKER_REGISTRY}
script:
- docker service update ${SERVICE_NAME} --image ${DOCKER_REGISTRY}/${DEPLOY_IMG}
deploy-prod-job:
only:
variables:
- $DEPLOY_ENV == "prod"
stage: deploy
tags:
- deployer
variables:
CONF_RM_STR: ""
before_script:
- docker login -u ${DOCKER_REGISTRY_USER} -p ${DOCKER_REGISTRY_PWD} ${DOCKER_REGISTRY}
script:
- docker service update ${SERVICE_NAME} --image ${DOCKER_REGISTRY}/${DEPLOY_IMG}