繁体   English   中英

Maven:将依赖项部署到备用存储库

[英]maven: deploy dependencies to alternate repository

我正在尝试使用我们的Maven构建来进行构建促进设置。 我本人这样做是因为我发现的存储库管理器不太符合要求。

我希望过程像这样工作:
1.开发将ear和jar文件部署到“ dev”存储库
2.构建团队运行构建以获取这些文件,添加质量检查特定的配置模板,并将结果打包为zip文件
3.使用<altDeploymentRepository>选项,构建团队将zip文件部署到QA存储库中。
4.将相关的ear和jar文件部署到QA存储库中。5.在QA周期完成后,构建团队将运行一个构建以下载(已测试)jar和ear文件,添加preprod特定的配置模板,并将结果打包到一个zip文件
6.使用<altDeploymentRepository>选项,构建团队将zip文件部署到Preprod存储库中。
...并再次重复该过程以进行生产

一切正常,直到步骤4。似乎没有一种方法可以告诉Maven将依赖项部署到备用位置。

因此,最终结果是如何获取在存储库之间复制的相关的 ear和jar文件,并以这样的方式来保存版本信息,并且我可以对它们进行常规构建。

源和目标存储库的切换是通过Maven配置文件完成的:

<profile>
  <id>qa</id>
  <distributionManagement>
    <repository>
      <id>prddeploy</id>
      <name>build server repository</name>
      <url>${repoHost}/dev_repo</url>
    </repository>
  </distributionManagement>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <configuration>
         <altDeploymentRepository>qadeploy::default::${repoHost}/qa_repo</altDeploymentRepository>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>

默认为'dev'的配置文件,因此开发不需要特殊步骤,它们只需运行mvn deploy 构建团队运行: mvn deploy -P qa以启动质量保证部署周期。

我尝试过使用关系和人工资源作为存储库管理器。 我使用哪一个似乎无关紧要,但是如果一个或另一个可以简化此过程,则两者都可用。

我知道nexus在其专业版中提供了构建升级功能,但是根据文档,关键的问题是,必须逐步closed已使用的存储库,然后才能使用它们。 我们的软件具有许多不同的组件,并且在修复质量检查中的错误时,我们需要仅能够重新部署已更改的组件,而不是整个系统。 阶段性的存储库设置似乎不允许这样做。 如果我读错了,请有人指出正确的方向。

您应该重新考虑为什么Nexus Pro登台套件似乎会限制您。

“关闭”登台回购的想法是为了防止对一组工件的任何进一步更改传递给QA进行认证。

我建议以下解决方案之一:

  • 剪切一个较小的补丁程序版本,该补丁程序旨在应用于质量检查中当前版本的顶部。
  • 如果您的组件确实是分开的,请考虑将它们作为独立版本的组件发布。

更新资料

Artifactory具有使用标记来管理工件的暂存和升级的另一种方法 对于我来说,细节还不是很清楚,但是此解决方案可能会为您提供所需的灵活性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM