更新 drone 配置文件
This commit is contained in:
+25
-37
@@ -1,10 +1,10 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: build-multiarch-podman
|
||||
name: build-multiarch-docker
|
||||
|
||||
# 匹配 Runner 标签
|
||||
node:
|
||||
runtime: podman
|
||||
runtime: docker
|
||||
arch: amd64
|
||||
multiarch: true
|
||||
|
||||
@@ -20,22 +20,18 @@ volumes:
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
|
||||
# 核心:启用 Drone 内置 Git 克隆配置
|
||||
clone:
|
||||
disable: false # 启用内置克隆(默认就是 false,显式声明更稳妥)
|
||||
depth: 1 # 浅克隆,加快速度
|
||||
tags: true # 拉取标签(适配 Tag 触发)
|
||||
disable: false
|
||||
depth: 1
|
||||
tags: true
|
||||
|
||||
steps:
|
||||
# 登录容器仓库(如 Harbor、Docker Hub、阿里云 ACR)
|
||||
# 登录容器仓库(使用 docker login)
|
||||
- name: registry login
|
||||
image: quay.io/containers/podman:v4.9
|
||||
privileged: true
|
||||
image: docker:24.0-cli # 使用官方 Docker CLI 镜像
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
- name: containers-config
|
||||
path: /etc/containers
|
||||
environment:
|
||||
REGISTRY_SERVER: "swr.cn-north-4.myhuaweicloud.com"
|
||||
REGISTRY_USER:
|
||||
@@ -45,28 +41,24 @@ steps:
|
||||
commands:
|
||||
- |
|
||||
echo "Logging into registry..."
|
||||
# 调试:打印所有关键变量
|
||||
echo "=== Debug Variables ==="
|
||||
echo "REGISTRY_SERVER: $REGISTRY_SERVER"
|
||||
echo "REGISTRY_USER: ${REGISTRY_USER:-empty}"
|
||||
echo "REGISTRY_PASSWORD: ${REGISTRY_PASSWORD:-empty}"
|
||||
echo "========================"
|
||||
podman login "$REGISTRY_SERVER" -u "$REGISTRY_USER" -p "$REGISTRY_PASSWORD" || {
|
||||
echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_SERVER" -u "$REGISTRY_USER" --password-stdin || {
|
||||
echo "Registry login failed!"
|
||||
exit 1
|
||||
}
|
||||
|
||||
# 构建并推送镜像
|
||||
# 构建并推送镜像(使用 docker build/push)
|
||||
- name: build and push
|
||||
image: quay.io/containers/podman:v4.9
|
||||
privileged: true
|
||||
image: docker:24.0-cli
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
- name: containers-config
|
||||
path: /etc/containers
|
||||
environment:
|
||||
REGISTRY_SERVER: "swr.cn-north-4.myhuaweicloud.com/colovu/scratch"
|
||||
REGISTRY_REPO: "swr.cn-north-4.myhuaweicloud.com/colovu/scratch"
|
||||
DRONE_TAG: ${DRONE_TAG}
|
||||
DRONE_COMMIT_SHA: ${DRONE_COMMIT_SHA}
|
||||
DRONE_BRANCH: ${DRONE_BRANCH}
|
||||
@@ -80,43 +72,39 @@ steps:
|
||||
IMAGE_TAG="${DRONE_COMMIT_SHA:0:8:-unknown}"
|
||||
fi
|
||||
|
||||
# 调试:打印所有关键变量
|
||||
echo "=== Debug Variables ==="
|
||||
echo "DRONE_TAG: ${DRONE_TAG:-empty}"
|
||||
echo "DRONE_COMMIT_SHA: ${DRONE_COMMIT_SHA:-empty}"
|
||||
echo "DRONE_BRANCH: ${DRONE_BRANCH:-empty}"
|
||||
echo "REGISTRY_SERVER: ${REGISTRY_SERVER:-empty}"
|
||||
echo "REGISTRY_REPO: ${REGISTRY_REPO:-empty}"
|
||||
echo "IMAGE_TAG: $IMAGE_TAG"
|
||||
echo "========================"
|
||||
|
||||
echo "Building image..."
|
||||
podman build \
|
||||
--tag "${REGISTRY_SERVER}:${IMAGE_TAG}" \
|
||||
.
|
||||
docker build -t "${REGISTRY_REPO}:${IMAGE_TAG}" .
|
||||
|
||||
echo "Pushing image..."
|
||||
podman push "${REGISTRY_SERVER}:${IMAGE_TAG}"
|
||||
docker push "${REGISTRY_REPO}:${IMAGE_TAG}"
|
||||
|
||||
# 可选:打 latest 标签
|
||||
# 可选:打 latest 标签(仅 main 分支)
|
||||
if [ "${DRONE_BRANCH}" = "main" ]; then
|
||||
podman push \
|
||||
"${REGISTRY_SERVER}:${IMAGE_TAG}" \
|
||||
"docker://${REGISTRY_SERVER}:latest"
|
||||
docker tag "${REGISTRY_REPO}:${IMAGE_TAG}" "${REGISTRY_REPO}:latest"
|
||||
docker push "${REGISTRY_REPO}:latest"
|
||||
fi
|
||||
|
||||
echo "Image pushed: ${REGISTRY_REPO}:${IMAGE_TAG}"
|
||||
|
||||
echo "Image pushed: ${REGISTRY_SERVER}:${IMAGE_TAG}"
|
||||
|
||||
# 清理步骤(无论成功/失败都执行)
|
||||
# 清理步骤
|
||||
- name: cleanup
|
||||
image: quay.io/containers/podman:v4.9
|
||||
privileged: true
|
||||
image: docker:24.0-cli
|
||||
volumes:
|
||||
- name: docker-sock
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- |
|
||||
echo "Logging out of registry..."
|
||||
podman logout swr.cn-north-4.myhuaweicloud.com || true
|
||||
docker logout swr.cn-north-4.myhuaweicloud.com || true
|
||||
echo "Cleaning up unused images..."
|
||||
podman system prune -af || true
|
||||
docker system prune -af || true
|
||||
when:
|
||||
status: [success, failure] # 成功/失败都执行清理
|
||||
status: [success, failure]
|
||||
|
||||
Reference in New Issue
Block a user