Skip to content

Commit 3d976d1

Browse files
authored
feat: update Docker image tagging to use branch names for better identification (#289)
1 parent 8c83828 commit 3d976d1

File tree

1 file changed

+31
-5
lines changed

1 file changed

+31
-5
lines changed

.github/workflows/docker-images-reusable.yml

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,15 @@ jobs:
3939
elif [[ $GITHUB_REF == refs/heads/main ]]; then
4040
echo "TAGS=$BASE_IMAGE:amd64" >> $GITHUB_OUTPUT
4141
else
42-
echo "TAGS=$BASE_IMAGE:amd64-temp" >> $GITHUB_OUTPUT
42+
# 使用分支名作为 tag
43+
if [[ $GITHUB_REF == refs/heads/* ]]; then
44+
BRANCH_NAME=${GITHUB_REF#refs/heads/}
45+
# 清理分支名,将特殊字符替换为连字符
46+
BRANCH_TAG=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g')
47+
echo "TAGS=$BASE_IMAGE:amd64-$BRANCH_TAG" >> $GITHUB_OUTPUT
48+
else
49+
echo "TAGS=$BASE_IMAGE:amd64-temp" >> $GITHUB_OUTPUT
50+
fi
4351
fi
4452
4553
- name: Build Docker Image
@@ -80,7 +88,15 @@ jobs:
8088
elif [[ $GITHUB_REF == refs/heads/main ]]; then
8189
echo "TAGS=$BASE_IMAGE:arm64" >> $GITHUB_OUTPUT
8290
else
83-
echo "TAGS=$BASE_IMAGE:arm64-temp" >> $GITHUB_OUTPUT
91+
# 使用分支名作为 tag
92+
if [[ $GITHUB_REF == refs/heads/* ]]; then
93+
BRANCH_NAME=${GITHUB_REF#refs/heads/}
94+
# 清理分支名,将特殊字符替换为连字符
95+
BRANCH_TAG=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g')
96+
echo "TAGS=$BASE_IMAGE:arm64-$BRANCH_TAG" >> $GITHUB_OUTPUT
97+
else
98+
echo "TAGS=$BASE_IMAGE:arm64-temp" >> $GITHUB_OUTPUT
99+
fi
84100
fi
85101
86102
- name: Build Docker Image
@@ -120,9 +136,19 @@ jobs:
120136
echo "ARM_TAGS=$BASE_IMAGE:arm64" >> $GITHUB_OUTPUT
121137
echo "AMD_TAGS=$BASE_IMAGE:amd64" >> $GITHUB_OUTPUT
122138
else
123-
echo "TAGS=$BASE_IMAGE:temp" >> $GITHUB_OUTPUT
124-
echo "ARM_TAGS=$BASE_IMAGE:arm64-temp" >> $GITHUB_OUTPUT
125-
echo "AMD_TAGS=$BASE_IMAGE:amd64-temp" >> $GITHUB_OUTPUT
139+
# 使用分支名作为 tag
140+
if [[ $GITHUB_REF == refs/heads/* ]]; then
141+
BRANCH_NAME=${GITHUB_REF#refs/heads/}
142+
# 清理分支名,将特殊字符替换为连字符
143+
BRANCH_TAG=$(echo "$BRANCH_NAME" | sed 's/[^a-zA-Z0-9._-]/-/g')
144+
echo "TAGS=$BASE_IMAGE:$BRANCH_TAG" >> $GITHUB_OUTPUT
145+
echo "ARM_TAGS=$BASE_IMAGE:arm64-$BRANCH_TAG" >> $GITHUB_OUTPUT
146+
echo "AMD_TAGS=$BASE_IMAGE:amd64-$BRANCH_TAG" >> $GITHUB_OUTPUT
147+
else
148+
echo "TAGS=$BASE_IMAGE:temp" >> $GITHUB_OUTPUT
149+
echo "ARM_TAGS=$BASE_IMAGE:arm64-temp" >> $GITHUB_OUTPUT
150+
echo "AMD_TAGS=$BASE_IMAGE:amd64-temp" >> $GITHUB_OUTPUT
151+
fi
126152
fi
127153
128154
- name: Manifest Docker Image

0 commit comments

Comments
 (0)