!4 unit test refactoring Merge pull request !4 from Chenyt26/master-dev
允许用户构建跨平台镜像,如linux平台,windows平台或macos平台,并可以直接推送到SWR等Docker镜像仓库上。目前支持的平台列表如下:
'linux/amd64', 'linux/arm64', 'linux/ppc64le', 'linux/s390x', 'linux/386', 'linux/arm/v5', 'linux/arm/v7', 'linux/arm/v6', 'linux/arm64/v8', 'linux/mips64le', 'windows/amd64', 'windows/arm64', 'darwin/amd64', 'darwin/arm64'
(1) 如果需要推送到SWR等Docker registry上,需要添加一个docker login的action,添加好登录账号密码等信息(2) 需要确定基础镜像支持的平台如19-jdk,支持windows/amd64,linux/amd64,linux/arm64/v8 这三个平台,
为docker镜像添加 linux/amd64,linux/arm64/v8,windows/amd64 平台支持,注意github暂不支持基于macos,windows镜像跑workflow,请不要runs-on: windows或者macos相关的镜像
- name: Login to Huawei Cloud SWR uses: huaweicloud/swr-login@v2.1.0 with: region: cn-north-4 access-key-id: ${{ secrets.ACCESSKEY }} access-key-secret: ${{ secrets.SECRETACCESSKEY }} - name: Build Docker image for multiplatform uses: huaweicloud/swr-multiplatform-build-action@v1.2.0 with: image_tag: swr.cn-north-4.myhuaweicloud.com/hcloudcli/jdkdemo:jdk19-v1.0.0.4 platforms: linux/amd64,linux/arm64/v8,windows/amd64 use_latest_buildx: false push: true file: ./Dockerfile
登录华为云SWR服务,查看hcloudcli/jdkdemo:jdk19-v1.0.0.4镜像的manifast内容
digest: sha256:e4090ef801d8240bf6dc0ff878a39cad98eaf1e811cf8a4307171588065d291c manifest详情: mediaType: application/vnd.docker.distribution.manifest.list.v2+json schemaVersion: 2 manifests: - mediaType: application/vnd.docker.distribution.manifest.v2+json digest: 'sha256:231dfe58054c8f02f1a67ad29463a7c17f9ef67b02208b983b9ff9c0eb9cc891' size: 1161 platform: architecture: amd64 os: linux - mediaType: application/vnd.docker.distribution.manifest.v2+json digest: 'sha256:8161e616a3533a77e695b3af89ff53b9120192c6e98a8892270ada7ab325bcb7' size: 1161 platform: architecture: arm64 os: linux - mediaType: application/vnd.docker.distribution.manifest.v2+json digest: 'sha256:562edc71575aa6602ed353a0bc4bea1faac540ef37ea1c0aac96b1bab337842f' size: 2833 platform: architecture: amd64 os: windows
效果如下
在linunx或者windows的x86-64平台或者linux的arm-64平台,直接docker pull这个镜像,docker会自动下载对应平台的镜像
1)buildx-v0.8.2.darwin-amd64 2)buildx-v0.8.2.darwin-arm64 3)buildx-v0.8.2.linux-amd64 4)buildx-v0.8.2.linux-arm-v6 5)buildx-v0.8.2.linux-arm-v7 6)buildx-v0.8.2.linux-arm64 7)buildx-v0.8.2.linux-ppc64le 8)buildx-v0.8.2.linux-riscv64 9)buildx-v0.8.2.linux-s390x 10)buildx-v0.8.2.windows-amd64.exe 11)buildx-v0.8.2.windows-arm64.exe2. buildx的release页面
swr-multiplatform-build-action
允许用户构建跨平台镜像,如linux平台,windows平台或macos平台,并可以直接推送到SWR等Docker镜像仓库上。
目前支持的平台列表如下:
前置工作
(1) 如果需要推送到SWR等Docker registry上,需要添加一个docker login的action,添加好登录账号密码等信息

(2) 需要确定基础镜像支持的平台
如19-jdk,支持windows/amd64,linux/amd64,linux/arm64/v8 这三个平台,
参数说明:
使用样例
为docker镜像添加 linux/amd64,linux/arm64/v8,windows/amd64 平台支持,注意github暂不支持基于macos,windows镜像跑workflow,请不要runs-on: windows或者macos相关的镜像
查看结果
登录华为云SWR服务,查看hcloudcli/jdkdemo:jdk19-v1.0.0.4镜像的manifast内容
效果如下
镜像使用:
在linunx或者windows的x86-64平台或者linux的arm-64平台,直接docker pull这个镜像,docker会自动下载对应平台的镜像
1、linux x86-64平台
2、linux arm-64平台:
3、windows x86-64平台
Action中使用公网地址说明
1)buildx-v0.8.2.darwin-amd64
2)buildx-v0.8.2.darwin-arm64
3)buildx-v0.8.2.linux-amd64
4)buildx-v0.8.2.linux-arm-v6
5)buildx-v0.8.2.linux-arm-v7
6)buildx-v0.8.2.linux-arm64
7)buildx-v0.8.2.linux-ppc64le
8)buildx-v0.8.2.linux-riscv64
9)buildx-v0.8.2.linux-s390x
10)buildx-v0.8.2.windows-amd64.exe
11)buildx-v0.8.2.windows-arm64.exe
2. buildx的release页面