kind: pipeline type: docker name: Build docker image node: name: pve steps: # 使用 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