23
23
description : ' 空间名称'
24
24
required : true
25
25
default : ' dockerhub_mirror'
26
- PLATFORMS :
27
- description : ' 目标架构(逗号分隔,如: linux/amd64,linux/arm64)'
28
- required : true
29
- default : ' linux/amd64,linux/arm64'
30
26
31
27
jobs :
32
28
build :
@@ -37,40 +33,11 @@ jobs:
37
33
- name : Login to Docker Registry
38
34
run : docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} ${{ github.event.inputs.TARGET_REGISTRY }}
39
35
40
- - name : Pull, tag, and push Docker image for each platform
36
+ - name : Pull, tag, and push Docker image
41
37
run : |
42
- # 将平台列表转换为数组
43
- IFS=',' read -ra PLATFORM_ARRAY <<< "${{ github.event.inputs.PLATFORMS }}"
44
-
45
- # 用于存储成功同步的架构
46
- SYNCED_PLATFORMS=()
47
- FAILED_PLATFORMS=()
48
-
49
- # 遍历每个平台
50
- for PLATFORM in "${PLATFORM_ARRAY[@]}"; do
51
- echo "Processing platform: $PLATFORM"
52
-
53
- # 尝试拉取特定平台的镜像
54
- if docker pull --platform $PLATFORM ${{ github.event.inputs.IMAGE_NAME }}:${{ github.event.inputs.IMAGE_VERSION }} 2>/dev/null; then
55
- # 标记镜像,添加平台后缀
56
- PLATFORM_SUFFIX=$(echo $PLATFORM | sed 's/\//-/g')
57
- docker tag ${{ github.event.inputs.IMAGE_NAME }}:${{ github.event.inputs.IMAGE_VERSION }} \
58
- ${{ github.event.inputs.TARGET_REGISTRY }}/${{ github.event.inputs.TARGET_REPOSITORY }}/${{ github.event.inputs.NEW_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}-${PLATFORM_SUFFIX}
59
-
60
- # 推送镜像
61
- docker push ${{ github.event.inputs.TARGET_REGISTRY }}/${{ github.event.inputs.TARGET_REPOSITORY }}/${{ github.event.inputs.NEW_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}-${PLATFORM_SUFFIX}
62
-
63
- SYNCED_PLATFORMS+=($PLATFORM)
64
- echo "✅ Successfully synced platform: $PLATFORM"
65
- else
66
- FAILED_PLATFORMS+=($PLATFORM)
67
- echo "⚠️ Platform $PLATFORM not supported by source image, skipping..."
68
- fi
69
- done
70
-
71
- # 将成功同步的平台列表保存到文件中,供后续步骤使用
72
- echo "SYNCED_PLATFORMS=${SYNCED_PLATFORMS[*]}" >> $GITHUB_ENV
73
- echo "FAILED_PLATFORMS=${FAILED_PLATFORMS[*]}" >> $GITHUB_ENV
38
+ docker pull ${{ github.event.inputs.IMAGE_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}
39
+ docker tag ${{ github.event.inputs.IMAGE_NAME }}:${{ github.event.inputs.IMAGE_VERSION }} ${{ github.event.inputs.TARGET_REGISTRY }}/${{ github.event.inputs.TARGET_REPOSITORY }}/${{ github.event.inputs.NEW_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}
40
+ docker push ${{ github.event.inputs.TARGET_REGISTRY }}/${{ github.event.inputs.TARGET_REPOSITORY }}/${{ github.event.inputs.NEW_NAME }}:${{ github.event.inputs.IMAGE_VERSION }}
74
41
75
42
- name : qyweixin send message
76
43
if : ${{ env.QYWX_ROBOT_URL != '' }}
81
48
with :
82
49
msgtype : markdown
83
50
content : |
84
- # 镜像同步完成
51
+ # 镜像同步成功
85
52
```
86
- 基础镜像地址:${{ env.IMAGE_URL }}
87
-
88
- 成功同步的架构:
89
- ${{ env.SYNCED_PLATFORMS }}
90
-
91
- 不支持的架构:
92
- ${{ env.FAILED_PLATFORMS }}
53
+ ${{ env.IMAGE_URL }}
93
54
```
0 commit comments