我可以为Maven中的任何项目设置默认部署吗?

时间:2016-06-30 09:23:54

标签: maven deployment teamcity nexus

在我们的TeamCity构建服务器上,每个项目现在使用项目的POM文件中的命令行参数-DaltDeploymentRepository<distributionManagement>来指定部署存储库。

但是我们计划迁移到Nexus 3,并且需要做大量的工作才能确保正确配置所有项目。还有一个事实是必须与每个开发人员沟通部署过程。

是否可以在settings.xml或其他内容中指定Maven部署目标,除非另有说明,否则任何在TeamCity上执行deploy的项目都将部署到正确的存储库?

2 个答案:

答案 0 :(得分:2)

...在Key Equivalent ... no:

  

Servers

     

下载和部署的存储库由POM的repositoriesdistributionManagement元素定义。

...或其他......是的:

从您所有项目继承的地方创建一个(或者,如果已经存在,请使用)parent POM

答案 1 :(得分:1)

我找到了另一个解决方案:TeamCity元流程。通过生成工作版本,您可以提取一个类似于构建步骤宏的元运行器。

如果您第一次使部署工作,您可以使用TeamCity构建配置中的Actions->Extract meta-runner...提取元运行器。

这显示了XML的编辑器,它指定了构建运行器。删除所有非部署特定的构建步骤,您可以在meta-runner/settings/params块中提供构建步骤参数。您可能需要在构建步骤的%pomLocation%块中添加pomLocation并指定<params>