feat: 双环境自动化部署(生产 + 测试)
- 新增 docker-compose.prod.yml / docker-compose.test.yml 双环境配置 - 新增 docker-compose.gateway.yml Nginx 网关按域名路由 - 新增 Dockerfile.website 官网镜像构建 - 新增 gateway.conf 支持 8 个域名路由 - 更新 .gitlab-ci.yml 支持 prod/test 双分支自动部署 - 更新 Makefile 新增 prod-/test-/gateway- 快捷命令 - 新增 scripts/setup-server.sh 服务器一键初始化脚本 - 修复 Nginx 配置服务名不匹配问题 - 修复前端 Dockerfile 缺少 packages/ 导致构建失败 - 删除旧的 docker-compose.yml Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+47
-7
@@ -6,12 +6,13 @@ stages:
|
||||
variables:
|
||||
NODE_ENV: production
|
||||
|
||||
# 仅 prod 分支触发
|
||||
# prod 和 test 分支触发
|
||||
workflow:
|
||||
rules:
|
||||
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
||||
when: never
|
||||
- if: $CI_COMMIT_BRANCH == "prod"
|
||||
- if: $CI_COMMIT_BRANCH == "test"
|
||||
|
||||
# pnpm store 缓存
|
||||
cache:
|
||||
@@ -86,6 +87,20 @@ build_platform:
|
||||
- apps/platform-admin/dist/
|
||||
expire_in: 1 hour
|
||||
|
||||
build_website:
|
||||
stage: build
|
||||
tags:
|
||||
- rent-deploy
|
||||
needs: [install_dependencies]
|
||||
script:
|
||||
- npm install -g pnpm
|
||||
- pnpm config set store-dir .pnpm-store
|
||||
- pnpm --filter @rent/official-website build
|
||||
artifacts:
|
||||
paths:
|
||||
- apps/official-website/out/
|
||||
expire_in: 1 hour
|
||||
|
||||
# ==================== DEPLOY ====================
|
||||
deploy_production:
|
||||
stage: deploy
|
||||
@@ -95,17 +110,42 @@ deploy_production:
|
||||
- build_server
|
||||
- build_merchant
|
||||
- build_platform
|
||||
- build_website
|
||||
script:
|
||||
- echo "部署到生产环境..."
|
||||
- cd deploy/docker
|
||||
- docker-compose down --remove-orphans
|
||||
- docker-compose build --parallel
|
||||
- docker-compose up -d
|
||||
- docker-compose -f docker-compose.prod.yml down --remove-orphans
|
||||
- docker-compose -f docker-compose.prod.yml build --parallel
|
||||
- docker-compose -f docker-compose.prod.yml up -d
|
||||
- docker image prune -f
|
||||
- echo "等待服务启动..."
|
||||
- sleep 10
|
||||
- docker-compose ps
|
||||
- docker-compose -f docker-compose.prod.yml ps
|
||||
environment:
|
||||
name: production
|
||||
only:
|
||||
- prod
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "prod"
|
||||
|
||||
deploy_test:
|
||||
stage: deploy
|
||||
tags:
|
||||
- rent-deploy
|
||||
needs:
|
||||
- build_server
|
||||
- build_merchant
|
||||
- build_platform
|
||||
- build_website
|
||||
script:
|
||||
- echo "部署到测试环境..."
|
||||
- cd deploy/docker
|
||||
- docker-compose -f docker-compose.test.yml down --remove-orphans
|
||||
- docker-compose -f docker-compose.test.yml build --parallel
|
||||
- docker-compose -f docker-compose.test.yml up -d
|
||||
- docker image prune -f
|
||||
- echo "等待服务启动..."
|
||||
- sleep 10
|
||||
- docker-compose -f docker-compose.test.yml ps
|
||||
environment:
|
||||
name: test
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "test"
|
||||
|
||||
Reference in New Issue
Block a user