增加wookpecker流水线配置文件

This commit is contained in:
2026-01-06 13:16:28 +08:00
parent 9bee912e14
commit c8b4d1c47d
+28 -22
View File
@@ -4,6 +4,12 @@ clone:
depth: 1
tags: true
# 定义命名卷(必须)
volumes:
- name: docker-sock
host:
path: /var/run/docker.sock
labels:
runtime: docker
arch: amd64
@@ -13,7 +19,8 @@ steps:
diagnose:
image: docker:29.0-cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: docker-sock
path: /var/run/docker.sock
commands:
- apk add --no-cache curl jq 2>/dev/null || true
- echo "=== Docker CLI ==="; docker version
@@ -22,7 +29,8 @@ steps:
debug_engine_api:
image: curlimages/curl
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: docker-sock
path: /var/run/docker.sock
commands:
- curl --unix-socket /var/run/docker.sock http://localhost/version
@@ -32,7 +40,8 @@ steps:
DOCKER_API_VERSION: "1.45"
DOCKER_HOST: unix:///var/run/docker.sock
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: docker-sock
path: /var/run/docker.sock
commands:
- which docker
- docker --version
@@ -41,7 +50,8 @@ steps:
registry_login:
image: docker:29.0-cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: docker-sock
path: /var/run/docker.sock
environment:
REGISTRY_SERVER: swr.cn-north-4.myhuaweicloud.com
REGISTRY_USER:
@@ -59,12 +69,10 @@ steps:
build_and_push:
image: docker:29.0-cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: docker-sock
path: /var/run/docker.sock
environment:
REGISTRY_REPO: swr.cn-north-4.myhuaweicloud.com/colovu/scratch
CI_COMMIT_TAG: ${CI_COMMIT_TAG}
CI_COMMIT_SHA: ${CI_COMMIT_SHA}
CI_COMMIT_BRANCH: ${CI_COMMIT_BRANCH}
commands:
- |
set -euo pipefail
@@ -75,34 +83,32 @@ steps:
IMAGE_TAG="${CI_COMMIT_SHA:0:8}"
fi
echo "Building image..."
docker build -t "${REGISTRY_REPO}:${IMAGE_TAG}" .
if [ "${CI_COMMIT_BRANCH}" = "main" ]; then
LATEST=true
else
LATEST=false
fi
echo "Pushing image..."
echo "Building and pushing ${REGISTRY_REPO}:${IMAGE_TAG}"
docker build -t "${REGISTRY_REPO}:${IMAGE_TAG}" .
docker push "${REGISTRY_REPO}:${IMAGE_TAG}"
# 打 latest 标签(仅 main 分支)
if [ "${CI_COMMIT_BRANCH}" = "main" ]; then
if [ "$LATEST" = true ]; then
docker tag "${REGISTRY_REPO}:${IMAGE_TAG}" "${REGISTRY_REPO}:latest"
docker push "${REGISTRY_REPO}:latest"
fi
echo "Image pushed: ${REGISTRY_REPO}:${IMAGE_TAG}"
cleanup:
image: docker:29.0-cli
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- name: docker-sock
path: /var/run/docker.sock
commands:
- |
echo "Logging out of registry..."
docker logout swr.cn-north-4.myhuaweicloud.com || true
echo "Cleaning up unused images..."
docker system prune -af || true
- docker logout swr.cn-north-4.myhuaweicloud.com || true
- docker system prune -af || true
when:
status: [success, failure]
# 触发条件
trigger:
event: [push, tag]
branch: [main, "release/*"]