把架构标题原先放前的 改成放在TAG之后 #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ main ] | |
env: | |
ALIYUN_REGISTRY: "${{ secrets.ALIYUN_REGISTRY }}" | |
ALIYUN_NAME_SPACE: "${{ secrets.ALIYUN_NAME_SPACE }}" | |
ALIYUN_REGISTRY_USER: "${{ secrets.ALIYUN_REGISTRY_USER }}" | |
ALIYUN_REGISTRY_PASSWORD: "${{ secrets.ALIYUN_REGISTRY_PASSWORD }}" | |
jobs: | |
build: | |
name: Pull | |
runs-on: ubuntu-latest | |
steps: | |
- name: Docker Setup Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
- name: Build and push image Aliyun | |
run: | | |
docker login -u $ALIYUN_REGISTRY_USER -p $ALIYUN_REGISTRY_PASSWORD $ALIYUN_REGISTRY | |
while IFS= read -r line; do | |
[[ -z "$line" ]] && continue | |
echo "docker pull $line" | |
docker pull $line | |
platform=$(echo "$line" | awk -F'--platform[ =]' '{if (NF>1) print $2}' | awk '{print $1}') | |
echo "platform is $platform" | |
# 如果存在架构信息 将架构信息拼到TAG名称之后 | |
if [ -z "$platform" ]; then | |
platform_prefix="" | |
else | |
platform_prefix="_${platform//\//_}" | |
fi | |
echo "platform_prefix is $platform_prefix" | |
# 获取镜像的完整名称,例如kasmweb/nginx:1.25.3(命名空间/镜像名:版本号) | |
image=$(echo "$line" | awk '{print $NF}') | |
# 获取 镜像名:版本号 例如nginx:1.25.3 | |
image_name_tag=$(echo "$image" | awk -F'/' '{print $NF}') | |
new_image="$ALIYUN_REGISTRY/$ALIYUN_NAME_SPACE/$image_name_tag$platform_prefix" | |
echo "docker tag $image $new_image" | |
docker tag $image $new_image | |
echo "docker push $new_image" | |
docker push $new_image | |
done < images.txt | |
- name: Create and push manifest | |
run: | | |
docker manifest create registry.cn-hangzhou.aliyuncs.com/haoxuan8855/alist:latest \ | |
registry.cn-hangzhou.aliyuncs.com/haoxuan8855/alist:latest_linux_arm64 \ | |
registry.cn-hangzhou.aliyuncs.com/haoxuan8855/alist:latest_linux_amd64 | |
docker manifest push registry.cn-hangzhou.aliyuncs.com/haoxuan8855/alist:latest | |
- name: Remove manifes... |