【问题标题】:suggested workflow for artifactory and jenkins工件和詹金斯的建议工作流程
【发布时间】:2021-02-02 03:21:35
【问题描述】:

我是 artifactory 新手,有一些基本问题。 不幸的是,在 jfrog 文档中没有找到最佳实践/建议的工作流程。据我了解,通用构建有 2 个基本流程可以与 Jenkins 一起使用:

  1. 创建 tar 并使用在其名称中包含内部版本号的命名约定(例如 my-build-dev-128.tar.gz)和一个包含最后一个构建字符串的文件 (last-build.txt)。因此,当 Jenkins/用户需要下载最新版本时,我会下载 last-build.txt 并从字符串中获取版本号,然后下载最后一个工件。
  2. server.publishBuildInfo buildInfo 添加到工件上传,然后每个文件都有自己的构建,这样当您下载它时,您可以使用构建属性 - 但是我无法提取特定的构建(必须指定文件我需要,它总是在下载文件的最后一个版本)。

那么,Jenkins/Artifactory 结合的最佳工作流程实践是什么(推送、拉取、以自动方式获取最新和较旧的工件(cli/API/Jenkins 插件 - 但不是 GUI)?

【问题讨论】:

  • 嗨!您要上传到 maven 项目中的 Artifactory 的工件是什么?如果是这样,看看这个link
  • 不,这是通用项目

标签: jenkins artifactory


【解决方案1】:

最佳做法是像您提到的那样发布构建信息。构建不必针对单个文件,它可以包含多个文件。 请参阅declarativescripted 工作流的这些示例。

下载时,下载命令接受file spec。 在文件规范的build 字段中,您可以指定不带构建号的构建名称,这将下载最新构建的工件。 当您指定构建时,aqlpattern 字段是可选的。如果您想过滤一些构建工件,您仍然可以使用它们。

保存构建详细信息的附加文件是多余的,这就是构建信息的用途。

【讨论】:

  • 我的情况是,我想根据分支构建将工件存储在不同的文件夹中(例如,在 DEV 分支构建的情况下,我想将工件保存在工件的 DEV 文件夹中,并且 STAGE用于暂存分支)。当我尝试通过文件规范从 DEV 文件夹下载最新的工件时,它失败了(似乎 LATEST 是每个存储库的全局 - 所以如果最后一次全局推送处于 STAGE 并且此文件规范不返回任何内容)。 "pattern": "repo/DEV","build": "OG/LATEST" 是否有更简单/更优雅的方式从特定文件夹获取最新版本,或者我已经通过 API/AQL 获得了最新版本?
猜你喜欢
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多