我有我需要使用詹金斯部署到Tomcat Spring的启动Web应用程序。
我已经安装了管道和部署情况就好了。
但是,我有我的应用程序两个配置文件。一个用于开发,另一个用于生产。像DB网址等一些属性是每个这些配置文件不同。
所以,我有内部src/main/resources
两个属性文件,如下所示:
application-dev.properties
application-prod.properties
另外,我有在同一目录下的另一个application.properties
其中只有一个属性(即当前情景模式)
spring.profiles.active=dev
现在,当我运行这个Eclipse的经过,事情的工作相当精细。即使詹金斯部署WAR到tomcat,一切都是美好的,除了一个问题。我无法改变spring.profiles.active
的价值prod
部署到Tomcat发生之前。
目前,我的SVN有致力于与application.properties
的spring.profiles.active = prod
文件
当有人取出了一个代码,并在当地的环境中工作,他们将其更改为“开发”,并继续工作,他们只是不提交此变更到SVN。这是临时的替代方法我跟着,我觉得这可以更有效的方式来完成。
我怎么有相同的WAR文件,只需更改配置文件,而无需修改我的application.properties文件?可这在詹金斯办呢?或者我应该看看别的地方?
Tenks,Sridharan说斯利拉姆
第一步是从属性文件中删除硬编码的配置文件名,然后就可以通过控制设置SPRING_PROFILES_ACTIVE=dev
通过环境变量激活什么资料。其在属性文件中设置spring.profiles.active=dev
相同。
如果您使用的春天启动应用程序,然后运行该应用程序之前ü应提供-Dspring.profiles.active =刺。默认情况下,春天的环境变量将覆盖目前在属性文件中的配置。但我同意约杰什给出该配置文件不应该在应用程序中硬编码的答案。
现在来开发时,他们检查了他们还可以提供-Dspring.profiles.acitve = dev下在Eclipse的IntelliJ或运行配置参数的代码。
这是在Eclipse /的IntelliJ一次性的配置改变和它的作品真的很好。我们在我们的项目中使用这一点,它确实有帮助。