Skip to content

Commit b7e47f5

Browse files
committed
feat: dual-push GHCR + Alibaba Cloud ACR for China users
1 parent ab51024 commit b7e47f5

File tree

2 files changed

+60
-16
lines changed

2 files changed

+60
-16
lines changed

.github/workflows/build-push.yml

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ on:
1616
default: 'zh'
1717

1818
env:
19-
REGISTRY: ghcr.io
19+
GHCR_REGISTRY: ghcr.io
20+
ALIYUN_REGISTRY: registry.cn-hangzhou.aliyuncs.com
2021
IMAGE_NAME: qingchencloud/openclaw
2122

2223
jobs:
@@ -46,15 +47,27 @@ jobs:
4647
- name: Set up Docker Buildx
4748
uses: docker/setup-buildx-action@v3
4849

50+
# ── 登录 GHCR(国际源) ──
4951
- name: Login to GHCR
5052
uses: docker/login-action@v3
5153
with:
52-
registry: ${{ env.REGISTRY }}
54+
registry: ${{ env.GHCR_REGISTRY }}
5355
username: ${{ github.actor }}
5456
password: ${{ secrets.GITHUB_TOKEN }}
5557

58+
# ── 登录阿里云 ACR(国内源,可选) ──
59+
- name: Login to Alibaba Cloud ACR
60+
if: ${{ secrets.ALIYUN_ACR_USERNAME != '' }}
61+
uses: docker/login-action@v3
62+
with:
63+
registry: ${{ env.ALIYUN_REGISTRY }}
64+
username: ${{ secrets.ALIYUN_ACR_USERNAME }}
65+
password: ${{ secrets.ALIYUN_ACR_PASSWORD }}
66+
5667
- name: Determine version and tags
5768
id: meta
69+
env:
70+
HAS_ALIYUN: ${{ secrets.ALIYUN_ACR_USERNAME != '' }}
5871
run: |
5972
VERSION="${{ github.event.inputs.openclaw_version || 'latest' }}"
6073
SOURCE="${{ github.event.inputs.openclaw_source || 'zh' }}"
@@ -65,15 +78,25 @@ jobs:
6578
fi
6679
6780
SUFFIX="${{ matrix.tag_suffix }}"
68-
TAGS="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest${SUFFIX}"
6981
82+
# GHCR 标签
83+
TAGS="${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:latest${SUFFIX}"
7084
if [ "$VERSION" != "latest" ]; then
71-
TAGS="${TAGS},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}${SUFFIX}"
85+
TAGS="${TAGS},${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}${SUFFIX}"
7286
fi
73-
74-
# 原版标签
7587
if [ "$SOURCE" = "official" ]; then
76-
TAGS="${TAGS},${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:official${SUFFIX}"
88+
TAGS="${TAGS},${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }}:official${SUFFIX}"
89+
fi
90+
91+
# 阿里云 ACR 标签(如果配置了)
92+
if [ "$HAS_ALIYUN" = "true" ]; then
93+
TAGS="${TAGS},${{ env.ALIYUN_REGISTRY }}/${{ env.IMAGE_NAME }}:latest${SUFFIX}"
94+
if [ "$VERSION" != "latest" ]; then
95+
TAGS="${TAGS},${{ env.ALIYUN_REGISTRY }}/${{ env.IMAGE_NAME }}:${VERSION}${SUFFIX}"
96+
fi
97+
if [ "$SOURCE" = "official" ]; then
98+
TAGS="${TAGS},${{ env.ALIYUN_REGISTRY }}/${{ env.IMAGE_NAME }}:official${SUFFIX}"
99+
fi
77100
fi
78101
79102
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
@@ -94,16 +117,18 @@ jobs:
94117
cache-from: type=gha
95118
cache-to: type=gha,mode=max
96119

97-
update-description:
120+
summary:
98121
needs: build-and-push
99122
runs-on: ubuntu-latest
100-
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
101123
steps:
102-
- name: Checkout
103-
uses: actions/checkout@v4
104-
105-
- name: Update GHCR description
124+
- name: Print image locations
106125
run: |
107-
echo "✅ Images built and pushed successfully"
108-
echo "📦 ghcr.io/${{ env.IMAGE_NAME }}:latest"
109-
echo "📦 ghcr.io/${{ env.IMAGE_NAME }}:gateway"
126+
echo "✅ 镜像构建并推送成功"
127+
echo ""
128+
echo "📦 国际源(GHCR):"
129+
echo " ghcr.io/${{ env.IMAGE_NAME }}:latest"
130+
echo " ghcr.io/${{ env.IMAGE_NAME }}:latest-gateway"
131+
echo ""
132+
echo "🇨🇳 国内源(阿里云 ACR):"
133+
echo " ${{ env.ALIYUN_REGISTRY }}/${{ env.IMAGE_NAME }}:latest"
134+
echo " ${{ env.ALIYUN_REGISTRY }}/${{ env.IMAGE_NAME }}:latest-gateway"

README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,25 @@ docker run -d --name openclaw --restart unless-stopped \
5050

5151
启动后打开 **http://localhost:1420**,模型已自动配好,直接可用。
5252

53+
## 🇨🇳 国内加速
54+
55+
GHCR 在国内拉取较慢,推荐使用阿里云镜像源:
56+
57+
```bash
58+
# 国内用户推荐
59+
docker run -d --name openclaw --restart unless-stopped \
60+
-p 1420:1420 -p 18789:18789 \
61+
-v openclaw-data:/root/.openclaw \
62+
registry.cn-hangzhou.aliyuncs.com/qingchencloud/openclaw:latest
63+
```
64+
65+
|| 地址 | 适用 |
66+
|---|------|------|
67+
| **阿里云 ACR** | `registry.cn-hangzhou.aliyuncs.com/qingchencloud/openclaw` | 🇨🇳 国内推荐 |
68+
| **GHCR** | `ghcr.io/qingchencloud/openclaw` | 🌍 国际 |
69+
70+
两个源镜像完全一致,CI 自动双推。
71+
5372
## 镜像说明
5473

5574
| 镜像标签 | 内容 | 适用场景 |

0 commit comments

Comments
 (0)