2024-06-15 18:01:43 +08:00
|
|
|
name: PPPPP
|
2024-06-15 17:48:15 +08:00
|
|
|
|
2024-06-15 17:41:26 +08:00
|
|
|
on:
|
|
|
|
workflow_dispatch:
|
|
|
|
inputs:
|
2024-06-15 17:48:15 +08:00
|
|
|
docker_images:
|
|
|
|
description: 'Comma-separated list of Docker images to pull'
|
2024-06-15 17:41:26 +08:00
|
|
|
required: true
|
2024-06-15 18:00:03 +08:00
|
|
|
default: 'alpine:latest,ubuntu:latest' # 设置默认的 Docker 镜像列表
|
2024-06-15 18:01:43 +08:00
|
|
|
platforms:
|
|
|
|
description: 'Comma-separated list of platforms to package'
|
|
|
|
required: true
|
|
|
|
default: 'amd64,arm64' # 设置默认的平台列表
|
2024-06-15 17:41:26 +08:00
|
|
|
|
|
|
|
jobs:
|
|
|
|
pull_and_package:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- name: Checkout repository
|
|
|
|
uses: actions/checkout@v2
|
|
|
|
|
2024-06-15 18:01:43 +08:00
|
|
|
- name: Pull Docker Images and Package
|
2024-06-15 17:48:15 +08:00
|
|
|
run: |
|
|
|
|
images="${{ github.event.inputs.docker_images }}"
|
2024-06-15 18:01:43 +08:00
|
|
|
platforms="${{ github.event.inputs.platforms }}"
|
2024-06-15 17:48:15 +08:00
|
|
|
IFS=',' read -r -a image_array <<< "$images"
|
2024-06-15 18:01:43 +08:00
|
|
|
IFS=',' read -r -a platform_array <<< "$platforms"
|
2024-06-15 17:48:15 +08:00
|
|
|
for image in "${image_array[@]}"; do
|
2024-06-15 18:01:43 +08:00
|
|
|
for platform in "${platform_array[@]}"; do
|
|
|
|
docker pull "${image}:${platform}"
|
|
|
|
docker save "${image}:${platform}" -o "${image//\//_}-${platform}.tar"
|
2024-06-15 18:00:03 +08:00
|
|
|
done
|
2024-06-15 17:48:15 +08:00
|
|
|
done
|
2024-06-15 17:41:26 +08:00
|
|
|
|
2024-06-15 17:48:15 +08:00
|
|
|
- name: Compress the TAR files
|
|
|
|
run: tar -czf images.tar.gz *.tar
|
2024-06-15 17:41:26 +08:00
|
|
|
|
|
|
|
- name: Upload artifact
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
2024-06-15 17:48:15 +08:00
|
|
|
name: docker-images-tar
|
|
|
|
path: images.tar.gz
|