[英]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.