1616 default : ' zh'
1717
1818env :
19- REGISTRY : ghcr.io
19+ GHCR_REGISTRY : ghcr.io
20+ ALIYUN_REGISTRY : registry.cn-hangzhou.aliyuncs.com
2021 IMAGE_NAME : qingchencloud/openclaw
2122
2223jobs :
@@ -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"
0 commit comments