如何在gitlab-ci.yml中指定图像平台

spa*_*spa 6 gitlab gitlab-ci

我正在尝试构建 CI 管道,该管道确实为特定图像构建。然而,在 CI 文件中,我找不到指定图像平台的方法。

stages:
  - build
  - deploy

build_j:
  image: customServer/debian/jessy
Run Code Online (Sandbox Code Playgroud)

我检查了Docker Images docthis但找不到任何示例。另一种方法可能是显式拉取图像并使用脚本运行命令。

docker pull debian:jessy -platform i386
Run Code Online (Sandbox Code Playgroud)

Ami*_*hah 4

由于 Docker 镜像的多架构/平台标签具有不同的摘要,因此您可以使用 Docker 镜像的摘要(而不是使用标签)来拉取所需的架构/平台。

以下是Docker Hub中 Docker 映像 (Ubuntu) 的多架构/平台标签的示例: 在此输入图像描述 正如您所看到的,20.04是一个多架构标签,标签中的每个架构都有不同的摘要。
如果您运行命令,docker pull ubuntu:20.04 它将拉取所有架构。
但命令
docker pull ubuntu@sha256:55e5613c8c7bcd8044aaf09d64d20518964a0d7a6e41af129f95b731301c2659 只会拉动linux/arm/v7

正如我所尝试的,可以在以下位置使用摘要.gitlab-ci.yml

job_1:
  image: ubuntu@sha256:55e5613c8c7bcd8044aaf09d64d20518964a0d7a6e41af129f95b731301c2659
  script:
    - ...

job_2:
  image: alpine@sha256:71465c7d45a086a2181ce33bb47f7eaef5c233eace65704da0c5e5454a79cee5
  script:
    - ...

Run Code Online (Sandbox Code Playgroud)