【问题标题】:How to copy maven artifacts from one repository to another如何将 Maven 工件从一个存储库复制到另一个存储库
【发布时间】:2020-01-28 15:09:54
【问题描述】:

如何将 Maven 工件从一个存储库复制到另一个存储库? 我创建了一个版本,但我不想立即发布此版本。我想把它作为“内部”保留几天来测试它。稍后,当所有测试都通过时,我想将这些工件移动到公共发布存储库中。

maven-stage-plugin 不再维护。

发布插件会构建一个新版本,但我想使用已经过测试的相同工件。

【问题讨论】:

  • 您使用的是哪个存储库管理器?
  • Nexus 存储库管理器
  • 哪个版本? 2个还是3个?
  • 版本 3.19.1-01
  • 因此您不信任自己的单元测试和集成测试。除此之外,这被称为暂存策略,可以使用 Nexus Repo Manager 完成,但只能使用商业变体......

标签: maven copy release stage


【解决方案1】:

在我看来,您需要支持不同管道的 CI 环境。

每次提交/推送都应在您的 DEV 环境中触发一次部署,您可以在其中测试您的应用程序。
标记后,CI 环境将触发不同的管道阶段,该阶段可以“发布”应用程序/库。

标签有效地快照您的版本并创建分发。

【讨论】:

  • 我已经建立了这个。发布管道将发布工件推送到阶段存储库。进行内部测试。有些测试不容易自动化,产品是一些库,即产品本身。在此阶段发布之后,我们将此版本集成到我们使用此技术的其他应用程序中。当一切正常时,我们要发布这个版本。所以现在,我必须构建另一个工件,然后上传到公共存储库。我想将现有的工件从阶段存储库复制到公共。但我找不到任何工具可以做到这一点。
  • 当“构建另一个工件”时,您的意思是从相同的源重新构建相同的工件吗?
  • 是的,我的意思是,我已经重复了构建过程。我有点偏执,所以我一直在寻找一些不这样做的解决方案。
  • 一个自然的过程是在 DEV 上构建/部署,测试并在准备好时标记源:在标记后,CI 再次构建(从同一源)并推送到公共存储库。您需要确信从源代码重建是可靠的(但这是一个非常好的做法)。如果您真的想发布已经在 DEV 上使用的相同构建,那么您可能需要将这些工件存储在某个地方(文件夹中的 WAR 文件,Maven 存储库中的 JAR 文件)然后构建自定义步骤(即复制文件,部署脚本)发布那些
猜你喜欢
  • 2013-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-09
相关资源
最近更新 更多