【问题标题】:Get BuildInfo From Artifactory Using Jenkins使用 Jenkins 从 Artifactory 获取 BuildInfo
【发布时间】:2019-06-07 23:36:08
【问题描述】:

使用 Jenkins DSL,我可以使用 Artifactory.newBuildInfo 创建和发布构建信息,但我正在寻找补充方法来读取在 Artifactory 上生成的 BuildInfo JSON 数据。已经浏览了许多资源。任何建议将不胜感激。

【问题讨论】:

    标签: jenkins artifactory


    【解决方案1】:

    Artifactory REST API 看来,您确实可以检索 buildInfo。我希望这也必须从 jenkins 插件中公开。

    Build Info
    Description: Build Info
    Since: 2.2.0
    Security: Requires a privileged user with deploy permissions (can be anonymous)
    Usage: GET /api/build/{buildName}/{buildNumber}
    Produces: application/vnd.org.jfrog.build.BuildInfo+json
    ...
    

    JFrog's project examples on github 和他们的jenkins plugin 一样是一个极好的资源

    通过快速搜索,您似乎需要定义下载规范,然后使用 server.download 方法(请参阅Working with Pipeline Jobs in Jenkins

    def buildInfo1 = server.download downloadSpec
    

    【讨论】:

      【解决方案2】:

      上一个答案创建了一个新的 buildInfo,它不会将原始 buildInfo 下载到我已经尝试了几天试图弄清楚如何做原始海报想要做的事情。我最成功的是将 buildinfo 下载到哈希表中,使用它,然后通过 REST 调用上传更改。

                          def curlstr = "curl -H 'X-JFrog-Art-Api:${password}' ${arturl}api/build/${buildName}/${buildNumber}"
                          def buildInfoString = sh(
                                  script: curlstr,
                                  returnStdout: true
                          ).trim()
                          buildInfo = (new JsonSlurperClassic().parseText(buildInfoString))
                          sh("echo '${JsonOutput.toJson(buildInfo)}'|curl -XPUT  -H 'X-JFrog-Art-Api:${password}' -H 'Content-Type: application/json'  ${arturl}api/build --upload-file - ")
      

      我能够使用这种技术修改工件存储库中的 buildInfo。没有我想要的那么干净。我也无法让 jfrogCLI 修改现有的 buildInfo 文件。

      无论我试图做的事情是否值得推广一个 docker 工件并在执行时更改名称。我发现没有办法向工件表达这一点,而不涉及将工件下载到 docker 然后再次推送它。如果来自@jfrog 的人能告诉我怎么做,我会很高兴的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多