gpt4 book ai didi

maven - 如何防止覆盖 hudson 上的 Maven 存储库中已发布的 Artifact (非快照版本)

转载 作者:行者123 更新时间:2023-12-04 12:42:54 25 4
gpt4 key购买 nike

问题描述

考虑在 hudson 上使用 maven 的情况。

现在有人 checkout 一个项目,修改了一些文件,但不小心使用了相同的 Artifact ID 和版本号(非快照)。

然后他/她在 hudson 上构建这个项目并安装了 maven。修改后的 Artifact 现在在 hudson .m2 中。任何其他依赖于它的项目都将使用修改后的 Artifact 构建。如果编译没有失败,没有人会发现这一点。即使正确的 Artifact 驻留在中央存储库中,它也从未使用过,因为在 hudson 开始构建时从 .m2 中提取了修改过的 Artifact 。

所以我正在寻找一种方法来防止这种意外的人为错误。

  • 无论如何要撤销 hudson 上非快照版本(已发布的 Artifact )上的 maven 安装权限?
  • 有什么方法可以比较 hudson 和远程中央存储库中 .m2 的校验和,以便校验和失败可以生成警告或构建失败?

  • 我已经检查过没有办法从中央存储库强制更新非快照版本,因为它们是不可变的。

    清除中央存储库或为 hudson 上的每个作业使用单独的存储库将分别导致构建时间和磁盘空间使用量增加。

    任何帮助,将不胜感激。

    最佳答案

    我认为您不会找到一种方法来阻止安装覆盖 Artifact 。存储库服务器应该有一个设置来防止部署更新的发布 Artifact 。例如,参见 "How do I disable artifact redeployment"对于 Nexus。

    关于maven - 如何防止覆盖 hudson 上的 Maven 存储库中已发布的 Artifact (非快照版本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849286/

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