diff --git a/.drone.yml b/.drone.yml index b54500c..c86a502 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,44 +1,37 @@ kind: pipeline type: docker -name: Build docker image # 修正拼写错误 "iamge" -> "image" +name: Build docker image node: name: pve steps: - # 添加显式登录步骤,确保 Harbor 登录成功 - - name: Login to registries + # 使用 plugins/docker 镜像作为登录步骤 + - name: Login and Build image: plugins/docker:20.10 + pull: if-not-exists environment: + # Docker Hub 凭据用于拉取基础镜像 DOCKER_USERNAME: from_secret: dockerhub_username DOCKER_PASSWORD: from_secret: dockerhub_password + commands: + # 登录 Docker Hub + - echo "Logging into Docker Hub..." + - docker login docker.io -u "$${DOCKER_USERNAME}" -p "$${DOCKER_PASSWORD}" + # 手动构建和推送 + - echo "Building image..." + - docker build -f Dockerfile -t harbor.seahi.me/stu/task-supervisor:latest . + # 登录 Harbor + - echo "Logging into Harbor..." + - docker login harbor.seahi.me -u "$${HARBOR_USERNAME}" -p "$${HARBOR_PASSWORD}" + # 推送到 Harbor + - echo "Pushing image..." + - docker push harbor.seahi.me/stu/task-supervisor:latest + # Harbor 凭据用于推送构建的镜像 + environment: HARBOR_USERNAME: from_secret: harbor_username HARBOR_PASSWORD: from_secret: harbor_password - commands: - - echo "Logging into Docker Hub..." - - docker login docker.io -u "$${DOCKER_USERNAME}" -p "$${DOCKER_PASSWORD}" - - echo "Logging into Harbor..." - - docker login harbor.seahi.me -u "$${HARBOR_USERNAME}" -p "$${HARBOR_PASSWORD}" - failure: ignore # 即使登录失败,也继续执行后续步骤以便调试 - - # 主要构建步骤 - - name: Build supervisor image - pull: if-not-exists - image: plugins/docker:20.10 # 回退到已知工作的版本 - privileged: false - depends_on: [Login to registries] # 确保在登录步骤之后执行 - settings: - debug: true # 启用调试日志 - dockerfile: Dockerfile - auto-tag: true - # 直接配置 Harbor 作为主要注册中心 - registry: harbor.seahi.me - repo: harbor.seahi.me/stu/task-supervisor - username: - from_secret: harbor_username - password: - from_secret: harbor_password