38 lines
1.1 KiB
YAML
38 lines
1.1 KiB
YAML
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
|