43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
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: Setup Docker buildx
|
||
uses: docker/setup-buildx-action@79abd3f86f79a9d68a23c75a09a9a85889262adf
|
||
|
||
- name: Check out code
|
||
uses: actions/checkout@v2
|
||
|
||
- 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
|
||
# 获取镜像的完整名称,例如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"
|
||
echo "docker tag $image $new_image"
|
||
docker tag $image $new_image
|
||
echo "docker push $new_image"
|
||
docker push $new_image
|
||
done < images.txt |