【问题标题】:Promoting a specific Build in Artifactory to a different repository将 Artifactory 中的特定构建提升到不同的存储库
【发布时间】:2013-07-30 06:01:09
【问题描述】:

我能否获得一些关于使用带有 cURL 命令的 REST API 促进构建的帮助。 我已成功使用以下语法更新状态:

curl -X POST -u admin:password -H "Content-Type: application/json" -d '{"status":"tests passed","ciUser":"jenkinsAdmin"}' "http://localhost:8081/artifactory/api/build/promote/buildName/buildNumber"

但是,无法将构建从一个存储库移动到另一个存储库。我的目标是,当我使用参数运行 cURL 命令时,将构建从一个存储库提升到另一个存储库。这样我的构建就会移动到其他存储库并且状态也会更新。

我在运行 curl 命令时也收到以下消息:

{"level":"INFO","message":"Skipping build item relocation: no target repository selected."}

这篇文章涉及到关于changing existing build status in artifactory的问题

请指教。

【问题讨论】:

    标签: artifactory


    【解决方案1】:

    in the documentation 所述,您只需设置targetRepo 参数即可。请注意目标存储库中的快照发布处理策略。

    【讨论】:

    • 工作,谢谢!!!我找不到目标存储库的确切参数。那很简单。还有一个查询,我正在寻找促销,并在现有的仓库中留下一份副本。有没有办法。我也找不到这个。
    • 有没有办法,我可以推广那个特定的内部版本号?因为,当我提升构建时,它实际上会将所有旧构建从当前存储库移动到新存储库。不仅仅是指定的内部版本号。
    • 什么意思?在促销 URL 中,您将内部版本号指定为最后一个路径标记:http://localhost:8081/artifactory/api/build/promote/buildName/buildNumber
    • 我已经配置了 3 个存储库(Dev、Test 和 Prod),我的构建首先被复制到 DEV(此时 DEV 中有更多旧构建),当我运行 URL 以提升到 Test repo,我的 DEV repo 变为空白,我的旧版本也指的是测试 repo,而不仅仅是新版本。有意义吗?
    • 这不应该发生。请写信至support@jfrog.com,他们会尝试复制。
    【解决方案2】:

    看看这个脚本是否有帮助。 https://github.com/JFrogDev/artifactory-user-plugins/blob/8a06563d853995ea7f59f0f5f3a67bcb08b5c2e9/build/promotion/promotion.groovy

    PS:每个团队/公司对于推广什么(工件)、如何推广(步骤)以及我应该制定什么检查/规则/条件/政策都有不同的要求、规则/政策在执行任何促销步骤之前确定是真/假或设置/通过;所以根据您的需要更改此代码。

    还可以查看这些:https://www.jfrog.com/confluence/display/RTF/Working+With+Pipeline+Jobs+in+Jenkins#WorkingWithPipelineJobsinJenkins-PromotingBuildsinArtifactory,了解如何在 Jenkins 中执行相同操作,如果您想在 Jenkins 或 Artifactory 中进行一些维护,请看这里:Delete jenkins builds during Promote / promotion step

    【讨论】:

    • 为什么构建提升是一个 Artifactory 插件?难道不能只在 Jenkins 端指定提升流程吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 2015-05-20
    • 2015-01-10
    • 1970-01-01
    • 2018-10-05
    • 1970-01-01
    相关资源
    最近更新 更多