Compare commits
4 Commits
b675a51fd2
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a53cb0e5e7 | ||
|
|
4911ea8a2c | ||
|
|
6308b4a235 | ||
|
|
a09d6ae970 |
100
.drone.yml
100
.drone.yml
@@ -1,6 +1,6 @@
|
|||||||
kind: pipeline
|
kind: pipeline
|
||||||
type: docker
|
type: docker
|
||||||
name: build-and-deploy
|
name: build-and-push
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
@@ -10,81 +10,55 @@ trigger:
|
|||||||
- push
|
- push
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# 构建后端镜像
|
# 构建并推送后端镜像
|
||||||
- name: build-backend
|
- name: build-push-backend
|
||||||
image: docker:dind
|
|
||||||
volumes:
|
|
||||||
- name: docker-sock
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
commands:
|
|
||||||
- docker build -t ai-interview-backend:${DRONE_COMMIT_SHA:0:8} -f deploy/Dockerfile.backend .
|
|
||||||
- docker tag ai-interview-backend:${DRONE_COMMIT_SHA:0:8} ai-interview-backend:latest
|
|
||||||
|
|
||||||
# 构建前端镜像
|
|
||||||
- name: build-frontend
|
|
||||||
image: docker:dind
|
|
||||||
volumes:
|
|
||||||
- name: docker-sock
|
|
||||||
path: /var/run/docker.sock
|
|
||||||
commands:
|
|
||||||
- docker build -t ai-interview-frontend:${DRONE_COMMIT_SHA:0:8} -f deploy/Dockerfile.frontend .
|
|
||||||
- docker tag ai-interview-frontend:${DRONE_COMMIT_SHA:0:8} ai-interview-frontend:latest
|
|
||||||
|
|
||||||
# 部署到测试环境 (develop 分支)
|
|
||||||
- name: deploy-test
|
|
||||||
image: docker:dind
|
image: docker:dind
|
||||||
volumes:
|
volumes:
|
||||||
- name: docker-sock
|
- name: docker-sock
|
||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
environment:
|
environment:
|
||||||
COZE_PAT_TOKEN:
|
DOCKER_REGISTRY:
|
||||||
from_secret: coze_pat_token
|
from_secret: docker_registry
|
||||||
COZE_BOT_ID:
|
DOCKER_USERNAME:
|
||||||
from_secret: coze_bot_id
|
from_secret: docker_username
|
||||||
COZE_WORKFLOW_A_ID:
|
DOCKER_PASSWORD:
|
||||||
from_secret: coze_workflow_a_id
|
from_secret: docker_password
|
||||||
COZE_WORKFLOW_C_ID:
|
|
||||||
from_secret: coze_workflow_c_id
|
|
||||||
FILE_SERVER_URL:
|
|
||||||
from_secret: file_server_url
|
|
||||||
FILE_SERVER_TOKEN:
|
|
||||||
from_secret: file_server_token
|
|
||||||
commands:
|
commands:
|
||||||
- docker stop ai-interview-backend-test ai-interview-frontend-test || true
|
- echo "登录 ACR..."
|
||||||
- docker rm ai-interview-backend-test ai-interview-frontend-test || true
|
- echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin
|
||||||
- docker run -d --name ai-interview-backend-test -p 8000:8000 --restart unless-stopped -e COZE_PAT_TOKEN=$COZE_PAT_TOKEN -e COZE_BOT_ID=$COZE_BOT_ID -e COZE_WORKFLOW_A_ID=$COZE_WORKFLOW_A_ID -e COZE_WORKFLOW_C_ID=$COZE_WORKFLOW_C_ID -e FILE_SERVER_URL=$FILE_SERVER_URL -e FILE_SERVER_TOKEN=$FILE_SERVER_TOKEN ai-interview-backend:latest
|
- echo "构建后端镜像..."
|
||||||
- docker run -d --name ai-interview-frontend-test -p 3000:80 --restart unless-stopped ai-interview-frontend:latest
|
- docker build -t $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH} -f deploy/Dockerfile.backend .
|
||||||
when:
|
- docker tag $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-backend:latest
|
||||||
branch:
|
- docker tag $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_COMMIT_SHA:0:8}
|
||||||
- develop
|
- echo "推送后端镜像..."
|
||||||
|
- docker push $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH}
|
||||||
|
- docker push $DOCKER_REGISTRY/ireborn/ai-interview-backend:latest
|
||||||
|
- docker push $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_COMMIT_SHA:0:8}
|
||||||
|
|
||||||
# 部署到正式环境 (main 分支)
|
# 构建并推送前端镜像
|
||||||
- name: deploy-prod
|
- name: build-push-frontend
|
||||||
image: docker:dind
|
image: docker:dind
|
||||||
volumes:
|
volumes:
|
||||||
- name: docker-sock
|
- name: docker-sock
|
||||||
path: /var/run/docker.sock
|
path: /var/run/docker.sock
|
||||||
environment:
|
environment:
|
||||||
COZE_PAT_TOKEN:
|
DOCKER_REGISTRY:
|
||||||
from_secret: coze_pat_token
|
from_secret: docker_registry
|
||||||
COZE_BOT_ID:
|
DOCKER_USERNAME:
|
||||||
from_secret: coze_bot_id
|
from_secret: docker_username
|
||||||
COZE_WORKFLOW_A_ID:
|
DOCKER_PASSWORD:
|
||||||
from_secret: coze_workflow_a_id
|
from_secret: docker_password
|
||||||
COZE_WORKFLOW_C_ID:
|
|
||||||
from_secret: coze_workflow_c_id
|
|
||||||
FILE_SERVER_URL:
|
|
||||||
from_secret: file_server_url
|
|
||||||
FILE_SERVER_TOKEN:
|
|
||||||
from_secret: file_server_token
|
|
||||||
commands:
|
commands:
|
||||||
- docker stop ai-interview-backend-prod ai-interview-frontend-prod || true
|
- echo "登录 ACR..."
|
||||||
- docker rm ai-interview-backend-prod ai-interview-frontend-prod || true
|
- echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin
|
||||||
- docker run -d --name ai-interview-backend-prod -p 9000:8000 --restart unless-stopped -e COZE_PAT_TOKEN=$COZE_PAT_TOKEN -e COZE_BOT_ID=$COZE_BOT_ID -e COZE_WORKFLOW_A_ID=$COZE_WORKFLOW_A_ID -e COZE_WORKFLOW_C_ID=$COZE_WORKFLOW_C_ID -e FILE_SERVER_URL=$FILE_SERVER_URL -e FILE_SERVER_TOKEN=$FILE_SERVER_TOKEN ai-interview-backend:latest
|
- echo "构建前端镜像..."
|
||||||
- docker run -d --name ai-interview-frontend-prod -p 4000:80 --restart unless-stopped ai-interview-frontend:latest
|
- docker build -t $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH} -f deploy/Dockerfile.frontend .
|
||||||
when:
|
- docker tag $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-frontend:latest
|
||||||
branch:
|
- docker tag $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_COMMIT_SHA:0:8}
|
||||||
- main
|
- echo "推送前端镜像..."
|
||||||
|
- docker push $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH}
|
||||||
|
- docker push $DOCKER_REGISTRY/ireborn/ai-interview-frontend:latest
|
||||||
|
- docker push $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_COMMIT_SHA:0:8}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- name: docker-sock
|
- name: docker-sock
|
||||||
|
|||||||
Reference in New Issue
Block a user