gpt4 book ai didi

jenkins - 如何将构建 Artifactory 的快照版本上传到 Artifactory 中的 gradle 存储库

转载 作者:行者123 更新时间:2023-12-03 03:46:34 25 4
gpt4 key购买 nike

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

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

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

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

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

用于上传 Artifactory 的管道代码

// 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 中将出现多个 Artifactory ,并在名称后附加时间戳。
在 repo 下只能看到一个 jar。
Artifactory 发布后,repo 中的现有 jar 被移动到垃圾箱

最佳答案

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

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

关于jenkins - 如何将构建 Artifactory 的快照版本上传到 Artifactory 中的 gradle 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55375460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com