kind: pipeline type: docker name: build-and-push trigger: branch: - main - develop event: - push steps: # 构建并推送后端镜像 - name: build-push-backend image: docker:dind volumes: - name: docker-sock path: /var/run/docker.sock environment: DOCKER_REGISTRY: from_secret: docker_registry DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: docker_password commands: - echo "登录 ACR..." - echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin - echo "构建后端镜像..." - docker build -t $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH} -f deploy/Dockerfile.backend . - docker tag $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-backend:latest - docker tag $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-backend:${DRONE_COMMIT_SHA:0:8} - 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} # 构建并推送前端镜像 - name: build-push-frontend image: docker:dind volumes: - name: docker-sock path: /var/run/docker.sock environment: DOCKER_REGISTRY: from_secret: docker_registry DOCKER_USERNAME: from_secret: docker_username DOCKER_PASSWORD: from_secret: docker_password commands: - echo "登录 ACR..." - echo "$DOCKER_PASSWORD" | docker login "$DOCKER_REGISTRY" -u "$DOCKER_USERNAME" --password-stdin - echo "构建前端镜像..." - docker build -t $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH} -f deploy/Dockerfile.frontend . - docker tag $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-frontend:latest - docker tag $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_BRANCH} $DOCKER_REGISTRY/ireborn/ai-interview-frontend:${DRONE_COMMIT_SHA:0:8} - 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: - name: docker-sock host: path: /var/run/docker.sock