- test 分支:部署到测试环境 (kaopeilian.test.ai.ireborn.com.cn) - main 分支:批量更新所有生产租户 (hua/yy/hl/xy/fw/ex) - 前端一次编译,6个租户共享 - 后端批量重建容器
This commit is contained in:
76
.drone.yml
76
.drone.yml
@@ -1,7 +1,8 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: build-and-deploy
|
name: deploy-test
|
||||||
|
|
||||||
|
# 测试环境:test 分支触发
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- test
|
- test
|
||||||
@@ -9,7 +10,6 @@ trigger:
|
|||||||
- push
|
- push
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# 构建后端镜像
|
|
||||||
- name: build-backend
|
- name: build-backend
|
||||||
image: docker:dind
|
image: docker:dind
|
||||||
volumes:
|
volumes:
|
||||||
@@ -20,7 +20,6 @@ steps:
|
|||||||
- docker build -t kaopeilian-backend:${DRONE_COMMIT_SHA:0:8} -f Dockerfile .
|
- docker build -t kaopeilian-backend:${DRONE_COMMIT_SHA:0:8} -f Dockerfile .
|
||||||
- docker tag kaopeilian-backend:${DRONE_COMMIT_SHA:0:8} kaopeilian-backend:test
|
- docker tag kaopeilian-backend:${DRONE_COMMIT_SHA:0:8} kaopeilian-backend:test
|
||||||
|
|
||||||
# 构建前端镜像
|
|
||||||
- name: build-frontend
|
- name: build-frontend
|
||||||
image: docker:dind
|
image: docker:dind
|
||||||
volumes:
|
volumes:
|
||||||
@@ -31,7 +30,6 @@ steps:
|
|||||||
- docker build -t kaopeilian-frontend:${DRONE_COMMIT_SHA:0:8} -f Dockerfile --build-arg VITE_API_BASE_URL=http://kaopeilian.test.ai.ireborn.com.cn .
|
- docker build -t kaopeilian-frontend:${DRONE_COMMIT_SHA:0:8} -f Dockerfile --build-arg VITE_API_BASE_URL=http://kaopeilian.test.ai.ireborn.com.cn .
|
||||||
- docker tag kaopeilian-frontend:${DRONE_COMMIT_SHA:0:8} kaopeilian-frontend:test
|
- docker tag kaopeilian-frontend:${DRONE_COMMIT_SHA:0:8} kaopeilian-frontend:test
|
||||||
|
|
||||||
# 部署测试环境
|
|
||||||
- name: deploy-test
|
- name: deploy-test
|
||||||
image: docker:dind
|
image: docker:dind
|
||||||
volumes:
|
volumes:
|
||||||
@@ -69,7 +67,75 @@ steps:
|
|||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
kaopeilian-frontend:test
|
kaopeilian-frontend:test
|
||||||
- docker ps | grep kaopeilian
|
- docker ps | grep kaopeilian
|
||||||
- echo "=== 考培练系统测试环境部署完成 ==="
|
- echo "=== 测试环境部署完成: http://kaopeilian.test.ai.ireborn.com.cn ==="
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: docker-sock
|
||||||
|
host:
|
||||||
|
path: /var/run/docker.sock
|
||||||
|
|
||||||
|
---
|
||||||
|
kind: pipeline
|
||||||
|
type: docker
|
||||||
|
name: deploy-prod
|
||||||
|
|
||||||
|
# 生产环境:main 分支触发,批量更新所有租户
|
||||||
|
trigger:
|
||||||
|
branch:
|
||||||
|
- main
|
||||||
|
event:
|
||||||
|
- push
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: sync-code-to-server
|
||||||
|
image: appleboy/drone-ssh
|
||||||
|
settings:
|
||||||
|
host: 120.79.247.16
|
||||||
|
username: root
|
||||||
|
password:
|
||||||
|
from_secret: prod_ssh_password
|
||||||
|
port: 22
|
||||||
|
command_timeout: 10m
|
||||||
|
script:
|
||||||
|
- echo "=== 同步代码到生产服务器 ==="
|
||||||
|
- cd /root/aiedu
|
||||||
|
- git fetch origin
|
||||||
|
- git reset --hard origin/main
|
||||||
|
- echo "代码同步完成"
|
||||||
|
|
||||||
|
- name: build-frontend
|
||||||
|
image: appleboy/drone-ssh
|
||||||
|
settings:
|
||||||
|
host: 120.79.247.16
|
||||||
|
username: root
|
||||||
|
password:
|
||||||
|
from_secret: prod_ssh_password
|
||||||
|
port: 22
|
||||||
|
command_timeout: 10m
|
||||||
|
script:
|
||||||
|
- echo "=== 编译前端(所有租户共享)==="
|
||||||
|
- cd /root/aiedu/kaopeilian-frontend
|
||||||
|
- npm install --silent
|
||||||
|
- npm run build
|
||||||
|
- echo "前端编译完成,所有租户已更新"
|
||||||
|
|
||||||
|
- name: rebuild-backends
|
||||||
|
image: appleboy/drone-ssh
|
||||||
|
settings:
|
||||||
|
host: 120.79.247.16
|
||||||
|
username: root
|
||||||
|
password:
|
||||||
|
from_secret: prod_ssh_password
|
||||||
|
port: 22
|
||||||
|
command_timeout: 15m
|
||||||
|
script:
|
||||||
|
- echo "=== 重建所有后端服务 ==="
|
||||||
|
- cd /root/aiedu
|
||||||
|
- docker-compose -f docker-compose.prod-multi.yml up -d --build --no-deps hua-backend yy-backend hl-backend xy-backend fw-backend ex-backend
|
||||||
|
- sleep 10
|
||||||
|
- docker ps | grep backend
|
||||||
|
- echo "=== 生产环境批量更新完成 ==="
|
||||||
|
- echo "租户列表: hua, yy, hl, xy, fw, ex"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: docker-sock
|
- name: docker-sock
|
||||||
|
|||||||
Reference in New Issue
Block a user