所以我正在为一个在他的构建脚本中使用 mvn deploy 语句的客户工作,我试图找出一种方法来防止 maven 意外覆盖 Artifactory 的发布仓库中的工件,例如,如果开发人员忘记标记他的在他的功能分支上带有 -SNAPSHOT 的 POM 版本。
我不是 maven 专家,但是我看到了一些建议,比如使用某些 maven 插件,但是这些插件的使用必须在 POM 中配置,然后我又回到了我开始的地方,如果在某个功能上忘记了怎么办分支?必须有一个既定的方法来确保没有来自特性分支的工件被部署到发布存储库中,并且没有来自发布分支的工件被意外地部署到快照存储库中。
我能想到并且也有人建议的一种方法是,简单地禁止在 Artifactory 中的发布 repo 上重新部署,但是如果我有一个在创建 PR 后触发的验证构建,然后另一个 CI 构建触发并尝试重新部署?
有没有另一种好方法来实现这一目标?