mli*_*elt 10 deployment maven-3 maven
我目前正在一个为很多人定义规则的环境中工作.我们目前使用Hudson和Artifactory,我想评估切换到Jenkins和Nexus是否值得迁移成本(但这不是问题).
为了评估它,我在本地设置了Maven,Jenkins和Nexus,我尝试找到一个设置来使用之前的设置,以便我可以比较解决方案.这里的问题是:
然后我尝试在Maven中定义deploymentManagement我的.settings文件中的部分,但这是不允许的(请参阅配置Maven,那里
注意:安装和用户配置不能用于添加共享项目信息 - 例如,设置或公司范围.
我们当前的根POM包含以下部分:
<distributionManagement>
<repository>
<uniqueVersion>false</uniqueVersion>
<id>company-central</id>
<name>Company central maven respository</name>
<url>https://company.com/artifactory/libs-releases</url>
</repository>
<snapshotRepository>
<id>company-snaps</id>
<name>company-snapshots</name>
<url>https://company.com/artifactory/libs-snapshots</url>
</snapshotRepository>
<downloadUrl>https://company.com/artifactory/libs-releases</downloadUrl>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)
使用相同POM的最简单方法是什么,但将其部署到不同的存储库管理器?
PS:我已经阅读了针对不同部署场景设置maven pom文件并且不喜欢它(在我的上下文中),将Maven工件部署到具有不同设置的多个存储库实际上是一个不同的问题.maven中的多个部署是一种有趣的方法,但我必须为此目的修改许多POM.
use*_*849 16
我是一个类似的团队,为他人提供工具.我们的父POM设置如下.除非我的团队成员之一添加settings.xml到mvn命令行,否则prod版本处于活动状态.您可以尝试更改激活以查找仅存在于Jenkins服务器上的特定文件(例如).我也想知道Maven是否在repo URL中插入属性.如果是,您可以在settings.xml中进行-DuseTestRepo=true定义<url>${my.remote.repo}/releases</url>.没试过那一个.
<profiles>
<profile>
<id>test-repository</id>
<activation>
<property>
<name>useTestRepo</name>
<value>true</value>
</property>
</activation>
<properties>
</properties>
<distributionManagement>
<repository>
<!-- ... -->
</repository>
<snapshotRepository>
<!-- ... -->
</snapshotRepository>
</distributionManagement>
</profile>
<profile>
<id>prod-repository</id>
<activation>
<property>
<name>!useTestRepo</name>
</property>
</activation>
<properties>
</properties>
<distributionManagement>
<repository>
<!-- ... -->
</repository>
<snapshotRepository>
<!-- ... -->
</snapshotRepository>
</distributionManagement>
</profile>
Run Code Online (Sandbox Code Playgroud)
至于交付(部署)您的实验性父POM - 您将其部署到您的测试Nexus仓库,对吗?而且你的开发人员都没有访问过它.因此Artifactory将包含真正的my.remote.repoPOM,而Nexus com.company:corporate-parent:1.0包含您测试所需的更改.
我还会考虑更改settings.xml中的本地存储库,这样就不会混合来自两个远程存储库的工件.
| 归档时间: |
|
| 查看次数: |
13642 次 |
| 最近记录: |