ARTIFACTORY:如何使用JFrog CLI添加构建信息到与Docker Buildx构建的映像

依琳娜Floim
2023-01-22 11:09

Docker buildx是一个CLI插件,它扩展了Docker命令,并支持创建多架构Docker映像。
将构建信息添加到使用buildx构建的镜像中的过程与将其添加到常规docker镜像中的过程相同,但是,一些用户可能难以通过docker客户端将构建的buildx镜像导出到本地docker镜像中。因此,我们将使用JFrog CLI将构建信息添加到已经推送到Artifactory的现有docker映像中。

下面的命令是docker buildx build命令的一个示例,用于从一个简单的Dockerfile创建一个多架构镜像。在这种情况下,镜像支持linux/amd64和linux/arm64架构:

docker buildx build——file Dockerfile——platform linux/amd64,linux/arm64——tag /workshop-docker/tdp/multi-arch-test:1.1.1-rc1——output=type=image——push。

在成功推送docker后,推送到Artifactory的映像可以在创建的路径workshop-docker-local/tdp/multi-arch-test下查看:

用户添加图片

现在,为了将构建信息附加到已经推送到Artifactory的映像上,我们将使用JFrog CLI构建docker create命令。该命令允许在build-info中添加已经发布到Artifactory的docker映像。该命令使用必选字段,即存储库名称和-image-file标志。-image-file将是一个文件的路径,该文件包含以下格式的一行:

IMAGE-TAG@sha256: MANIFEST-SHA256

对于本例,我们将使用以下内容添加1.1.1-rc。1 .将映像放入build-info中:
$ cat image-file-details

< Artifactory_host > / workshop-docker / tdp / multi-arch-test: 1.1.1-rc.1@sha256:08f48947b09fdfdee641f49129cf0e528703f2e63b0afba231dd0324a3f53cb0

jfrog rt bdc命令如下:
——build-name $build-name——build-number $build-number

接下来,我们将使用build-publish命令将build-info发布到Artifactory:
2 .打开myBuild

在发布build-info之后,我们将能够在“Builds”部分以及artifactory-build-info存储库下看到它:

用户添加图片

注意:由于目前不支持使用jfrog rt bdc命令将list.manifest.json关联到build-info,因此应该在每个清单上执行bdc命令。Json文件,意思是每个标签。