我开发了一个java / grails Web应用程序,它将所有组件存储在一个开发服务器上,源代码当前由SVN维护。我想将此应用程序移植/准备到我的笔记本电脑上的虚拟盒中的CentOS实例,以用于演示目的。问题是有多个配置文件有开发服务器的IP地址,现在很明显,这将必须更改为CentOS实例的IP地址。 移植/准备我的应用程序的最佳方式是什么?
我在想,在我从svn repo创建一个git repo后,我可以创建一个名为“demo”的git分支,其中我可以对配置文件进行必要的更改并像往常一样生成所需的jar maven2的。
注意:
答案 0 :(得分:3)
你有很多目标,我的建议是“如果他们互相干扰,不要试图一次做多件事。”
将SVN移植到GIT并不是一个坏主意,但它在为您解决IP地址配置问题方面没有任何帮助。事实上,如果您提交代码(意味着任何更改),那么每个人都会了解新的提交流程,这会让您感到沮丧。
将maven2移动到其他构建工具会出于同样的原因影响构建。不要误解我的意思,使用一个构建工具比使用另一个构建工具更有优势,但是在决定触发之前等待工具失败更为合理。
您的应用应该具有灵活性,可以将其移动到“内置”的另一台机器上。这是最高优先级,您应首先解决的问题。然后你就可以修改一个不同的开发过程(这是你将使用不同的源代码控制和构建工具获得的)。
答案 1 :(得分:0)
你有两个解决方案
或与SVN建立分支(svn支持)
或者您可以使用maven从属性文件中读取参数,并使两个配置文件读取属性文件以进行演示和本地环境
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>properties-maven-plugin</artifactId> <version>1.0-alpha-2</version> <executions> <execution> <phase>initialize</phase> <goals> <goal>read-project-properties</goal> </goals> <configuration> <files> <file>${env}.properties</file> </files> </configuration> </execution> </executions> </plugin>
和个人资料:
<profiles> <profile> <id>local</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <env>local</env> </properties> </profile> <profile> <id>demo</id> <activation> </activation> <properties> <env>demo</env> </properties> </profile> </profiles>