From 76e9348bd0d268028a803c4f5f35f1ed44d56699 Mon Sep 17 00:00:00 2001 From: 111 Date: Tue, 27 Jan 2026 10:10:59 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=AE=80=E5=8C=96CI/CD=EF=BC=8C?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E7=94=9F=E4=BA=A7=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E7=9A=84=E6=B5=8B=E8=AF=95=E7=8E=AF=E5=A2=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 测试环境使用 kpl.ireborn.com.cn(已存在) - 不再在 DevOps 服务器单独部署 - 添加双 Git remote 支持(origin=Gitea, github=GitHub) --- .drone.yml | 96 +++++++++++++++++++----------------------------------- 1 file changed, 33 insertions(+), 63 deletions(-) diff --git a/.drone.yml b/.drone.yml index ca55306..98770b2 100644 --- a/.drone.yml +++ b/.drone.yml @@ -2,7 +2,7 @@ kind: pipeline type: docker name: deploy-test -# 测试环境:test 分支触发 +# 测试环境:test 分支触发,部署到生产服务器的开发环境 trigger: branch: - test @@ -10,69 +10,39 @@ trigger: - push steps: - - name: build-backend - image: docker:dind - volumes: - - name: docker-sock - path: /var/run/docker.sock - commands: - - cd backend - - docker build -t kaopeilian-backend:${DRONE_COMMIT_SHA:0:8} -f Dockerfile . - - docker tag kaopeilian-backend:${DRONE_COMMIT_SHA:0:8} kaopeilian-backend:test + - name: sync-code + image: appleboy/drone-ssh + settings: + host: 120.79.247.16 + username: root + password: + from_secret: prod_ssh_password + port: 22 + command_timeout: 5m + script: + - echo "=== 同步代码到测试环境 ===" + - cd /root/aiedu + - git fetch origin + - git checkout test 2>/dev/null || git checkout -b test origin/test + - git reset --hard origin/test + - echo "代码同步完成" - - name: build-frontend - image: docker:dind - volumes: - - name: docker-sock - path: /var/run/docker.sock - commands: - - cd frontend - - 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 - - - name: deploy-test - image: docker:dind - volumes: - - name: docker-sock - path: /var/run/docker.sock - environment: - DATABASE_URL: - from_secret: database_url - REDIS_HOST: - from_secret: redis_host - REDIS_PORT: - from_secret: redis_port - REDIS_PASSWORD: - from_secret: redis_password - commands: - - docker network create kaopeilian-network 2>/dev/null || true - - docker stop kaopeilian-backend-test kaopeilian-frontend-test 2>/dev/null || true - - docker rm kaopeilian-backend-test kaopeilian-frontend-test 2>/dev/null || true - - | - docker run -d \ - --name kaopeilian-backend-test \ - --network kaopeilian-network \ - -p 18000:8000 \ - --restart unless-stopped \ - -e DATABASE_URL=$DATABASE_URL \ - -e REDIS_HOST=$REDIS_HOST \ - -e REDIS_PORT=$REDIS_PORT \ - -e REDIS_PASSWORD=$REDIS_PASSWORD \ - kaopeilian-backend:test - - | - docker run -d \ - --name kaopeilian-frontend-test \ - --network kaopeilian-network \ - -p 13001:80 \ - --restart unless-stopped \ - kaopeilian-frontend:test - - docker ps | grep kaopeilian - - echo "=== 测试环境部署完成: http://kaopeilian.test.ai.ireborn.com.cn ===" - -volumes: - - name: docker-sock - host: - path: /var/run/docker.sock + - name: rebuild-dev + 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 + - docker-compose -f docker-compose.dev.yml up -d --build + - sleep 5 + - docker ps | grep kpl- + - echo "=== 测试环境部署完成: https://kpl.ireborn.com.cn ===" --- kind: pipeline