gpt4 book ai didi

rest - 人工 REST API : How can I reassociate a build with a deployed artifact?

转载 作者:行者123 更新时间:2023-12-01 16:19:01 25 4
gpt4 key购买 nike

当您通过现有 Artifactory 将 Artifactory 部署到 Artifactory 时,它不会将其与现有 Artifactory 所具有的构建相关联。

例如:如果您使用 Jenkins Artifactory 插件部署三个 Artifactory :

example.jar
example.pom
example.json

然后它将创建一个新构建,将这些 Artifactory 与该构建相关联,并将 Artifactory 部署到您指定的位置和存储库。

假设此部署到/libs-release-local/example/1.0/,buildName 为“example-build”,buildNumber 为 51

如果您查看 Artifactory ,您会在构建选项卡上看到它与 build-info.json 相关联。

现在,假设您使用 REST API 将 example.json 部署到同一位置:

PUT /libs-release-local/example/1.0/example.json

现在新 Artifactory 没有与 build-info.json 相关联!

如何部署 Artifactory ,使其与现有的 build-info.json 相关联? (在这个例子中,“/example-build/51”构建)。

无法做到这一点会导致各种问题(例如,完成 build_promotion 后,它只会提升之前关联的 Artifactory ,而不会提升以后部署的任何东西。)

最佳答案

Artifactory 将构建信息 描述符与基于校验和的构建 Artifactory Artifactory 相关联。

如果您查看作为 Build Info 描述符的 JSON,您将能够看到:

{
...
"modules" : [ {
"id" : "org._10ne.gradle:rest-gradle-plugin:0.2.0",
"artifacts" : [ {
"type" : "pom",
"sha1" : "f0dcec6a603aa99f31990e20c0f314749f0e22ca",
"md5" : "427dcf49c07cc7be175ea31fd92da44e",
"name" : "rest-gradle-plugin-0.2.0.pom"
},
....
}
}

Build Info 描述符描述了一个“build”,它本质上是由某个进程生成的一个模块单元;这个过程取决于特定的环境。

您正在部署一个新的 Artifactory 它不是原始过程的一部分构建信息描述的环境;如果是的话,它会产生与前一个 Artifactory 完全相同的校验和

您基本上损害了“构建”单元的完整性

“正确”的做法是开始一个新的构建过程并生成一个有效的Build Info 描述符。

关于rest - 人工 REST API : How can I reassociate a build with a deployed artifact?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16289410/

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