我使用 Gitlab 进行 CI/CD 并使用 Artifactory 作为图像存储库。我试图通过项目的环境提升更好地了解如何正确使用 Jfrog CLI 和 Artifactory (AF) 创建构建并更新它。
这些是我当前将图像推送至自动对焦所采取的步骤。例如,我使用“myproj”作为构建名称,使用“1234”作为构建编号。
开发者:
分期:
产品:
最后我在 AF 中有 3 个版本,每个版本包含 :最新的 :产品1234 :分期-1234
我想做的是拥有 1 个包含所有 4 个图像的版本。如果删除 build-publish 命令,我可以保留单个 AF 构建,该构建在每个阶段都更新了状态。但是,在管道的末尾,它显示 status=prod,同时仅引用 :dev 图像。所有 4 个图像都正在创建并存储在预期的存储库中,所以我知道它们至少正在将其纳入 AF 中。
我是否误解了 AF 构建背后的意图?还是这个用户错误?
如果我正确理解你的问题,你希望有 1 个构建引用所有 (4) 个 docker 镜像,但你有 3 个构建引用 3 个单独的 docker 镜像。如果没有
code formatting
文字,理解你的观点有点困难。
JFrog CLI 的工作方式是,只要您为任何命令指定
--build-name
和 --build-number
参数,它就会开始收集构建信息。
当您收集构建信息时,此构建信息以 JSON 文件形式存在于临时目录中。
指定
--build-name
和 --build-number
参数的任何后续命令都将附加到现有的临时构建信息。
临时构建信息 JSON 文件将被删除,当:
jf rt bp
命令上传构建信息。所以你可以做三件事:
jf rt build-append
命令。此命令将创建一个引用所有附加构建的“主”构建。建设推广存在很多疏忽和问题。 (例如,您无法推广聚合的构建信息)。 Release Bundles V2 似乎解决了 Build Promotion 的许多缺点。
希望这对您有帮助。