通过 jenkins 上传的 JFrog Artifactory 工件不会出现在构建中

Posted

技术标签:

【中文标题】通过 jenkins 上传的 JFrog Artifactory 工件不会出现在构建中【英文标题】:JFrog Artifactory artifacts uploaded via jenkins dont show up in builds 【发布时间】:2021-10-20 02:14:01 【问题描述】:

我使用 Jenkins 来构建我的项目,一旦完成,我将包含所有工件文件或仅单个文件的目录上传到 JFrog。 管道代码示例:

def server = Artifactory.server "jfrog1"

sh "touch uploadconfig.json"
writeFile(file: "uploadconfig.json", text: " \"files\": [  \"pattern\": \"./uploadconfig.json\", \"target\": \"test-generic-local/uploadconfig1.json\", \"flat\" : \"true\" ]")

uploadSpec = readFile 'uploadconfig.json'
uploadInfo = server.upload spec: uploadSpec

上传文件时,它具有 build.name 和 build.number 属性。

但我的问题是它不会出现在 Artifactory -> Builds 下。

这是一个问题,因为我希望可以选择使用以下方式从该版本下载最新文件:

"files": [
        
            "pattern": "test-generic-local/uploadconfig*",
            "target": "./",
            "build" : "nameOfMyJenkinsJob/LATEST"
        
    ]

当我现在尝试在构建下没有列出工件的情况下运行它时,我收到以下错误消息:

找不到构建名称​​nameOfMyJenkinsJob

【问题讨论】:

【参考方案1】:

我看到您没有将构建发布到 Artifactory。请参阅此 JFrog wiki 了解如何发布构建信息。另外,我建议您参考这个Github Jenkins 文件,其中在构建发布阶段是推送构建的位置。

【讨论】:

谢谢我明白了:只需添加以下 server.publishBuildInfo uploadInfo 现在我遇到了构建出现的问题。但是“工件数”为 0,您知道为什么会这样吗? 对于任何有同样问题的人。对我来说,它只显示工件的数量,如果我指定了我要上传的确切文件,而不仅仅是整个文件夹的模式。 可能是工件上传时使用的构建名称和/或构建编号与发布的构建信息不同。您可以参考这些示例作为参考 - github.com/jfrog/project-examples/tree/master/jenkins-examples

以上是关于通过 jenkins 上传的 JFrog Artifactory 工件不会出现在构建中的主要内容,如果未能解决你的问题,请参考以下文章

如何在将通用工件上传到jenkins管道中的JFrog Artifactory时重命名现有文件夹

用于工具 Git/JENKINS/JFROG 的 OpenShift 身份验证服务器

jfrog artifactory jenkins pipeline 集成

今晚8点!JFrog DevOps 大讲堂如何使用 Jenkins 一步步搭建自动化 CI/CD 流水线?

搭建私有Jfrog artifactory仓库并上传Android Library

搭建私有Jfrog artifactory仓库并上传Android Library