【问题标题】:How to upload snapshot versions of a build artifact to gradle repository in Artifactory如何将构建工件的快照版本上传到 Artifactory 中的 gradle 存储库
【发布时间】:2019-03-27 10:54:06
【问题描述】:

我正在使用 Jenkins-Artifactory 插件将 jar 文件部署到 Artifactory 中的存储库。正在使用的构建工具是 gradle。该过程似乎没有维护 jar 工件的多个时间戳版本。

存储库使用“gradle-default”布局。 Maven 快照版本行为已设置为“唯一”。 最大唯一快照设置为 30。

我正在使用 rtUpload 和 rtPublishBuildInfo 将 jar 和相应的 buildinfo 上传到 Artifactory。

我在“artifactory-build-info”存储库下看到多个版本的 buildinfo,格式为 BUILDNUMBER_TIMESTAMP.json 但是,应用程序 jar 每次都会被覆盖,名称为 appname-VERSION.jar,因此仅在 repo 中保留最新版本。

我尝试将 Maven 快照版本行为更改为“非唯一”并将“SNAPSHOT”添加到版本字符串。这并没有解决问题

上传工件的管道代码

// upload build artifacts to artifact repository
        stage('publish to artifactory') {
          steps {
            rtUpload (
                serverId: "ARTIFACTORY_SERVER_ID",
                spec:
                  """{
                    "files": [
                      {
                        "pattern": "kotlin-source/build/libs/appname-*.jar",
                        "target": "gradle-dev-local"
                      }
                    ]
                  }""",
                failNoOp: true,
            )
          }
        }
        stage ('Publish build info') {
           steps {
              rtPublishBuildInfo (
                serverId: "ARTIFACTORY_SERVER_ID",
               )
           }
        }

预计 repo 中会出现多个工件,并在名称后附加时间戳。 在 repo 下只能看到一个 jar。 工件发布后,repo 中的现有 jar 被移动到垃圾箱

【问题讨论】:

    标签: jenkins gradle jenkins-pipeline artifactory


    【解决方案1】:

    唯一快照的工作方式是当设置设置为 UNIQUE 并且 repo 布局是 Maven(或 Gradle)快照,并且根据布局使用 SNAPSHOT 版本部署文件时,Artifactory 将动态重命名为包含 Maven 唯一快照 ID。

    Maven 发布将负责快照版本,而 Artifactory 将负责使这些快照唯一(和清理)。您只需要确保您的版本字符串以-SNAPSHOT 结尾。

    【讨论】:

    • 是的。这就是我所期望的行为。然而,repo 似乎包含一个 appname-0.1-SNAPSHOT.jar 在多个管道执行后由最新版本创建。您说 并且文件根据布局使用 SNAPSHOT 版本部署 :我将 rtUpload 中的目标设置为 repo 名称。我需要遵循特定的目录结构吗?
    • 此外,gradle repo 布局类似于[orgPath]/[module]/[baseRev](-[folderItegRev])/[module]-[baseRev](-[fileItegRev])(-[classifier]).[ext] rtUpload 似乎没有在 repo 下创建此目录结构并上传工件。它被直接放在 repo 根目录下。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-28
    相关资源
    最近更新 更多