你好,游客 登录 注册 搜索
背景:
阅读新闻

maven灵活解决环境问题 - 独自登高楼 望断天涯路

[日期:2013-04-02] 来源:  作者: [字体: ]

maven构建之灵活不必细说,这里举个实际遇到的场景,并给出我如何解决。


由于服务器紧张,我的hudson服务器和nexus服务器是部署在同一台的,


而这台服务器的外网是映射出去的公网地址。


也就是说本机通过外网地址是无法访问本机的。


代码是托管在Github的,每次push代码到Github,hudson就会做检查,如果发现更新就会做持续集成。


在公司内网地址没问题,但是在外办公或者家里,我项目写的就是外网地址,然后更新提交push。


hudson检查,把代码拉在本地就是公网地址了,然后一集成就出错。因为我构建部署的地址是外网。


那么该如何解决这个纠结的问题呢,maven已经帮你想到了。


请看配置文件:

	<profiles>
		<profile>
			<id>inner</id>
			<properties>
				<distribution.repository>192.168.125.51</distribution.repository>
			</properties>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
		</profile>
		<profile>
			<id>outer</id>
			<properties>
				<distribution.repository>113.128.126.149</distribution.repository>
			</properties>
		</profile>
	</profiles>
	

	<distributionManagement>
		<repository>
			<id>account</id>
			<name>account Releases Repository</name>
			<url>http://${distribution.repository}:8080/nexus/content/repositories/account/</url>
		</repository>
		<snapshotRepository>
			<id>account-snapshots</id>
			<name>account Snapshot Repository</name>
			<url>http://${distribution.repository}:8080/nexus/content/repositories/account-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

用profile做了2个配置,一个内网一个外网,默认开启内网。


这样我在公司运行时直接使用,

mvn clean deploy

在外办公使用

mvn clean deploy -Pouter


而hudson执行的命令时

mvn clean deploy

这样在外办公时再也不用担心持续集成失败的问题了。








收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻