在部署之前春天引导詹金斯CD / CI更改配置文件

问题描述 投票:0回答:2

我有我需要使用詹金斯部署到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.propertiesspring.profiles.active = prod文件

当有人取出了一个代码,并在当地的环境中工作,他们将其更改为“开发”,并继续工作,他们只是不提交此变更到SVN。这是临时的替代方法我跟着,我觉得这可以更有效的方式来完成。

我怎么有相同的WAR文件,只需更改配置文件,而无需修改我的application.properties文件?可这在詹金斯办呢?或者我应该看看别的地方?

Tenks,Sridharan说斯利拉姆

spring-boot tomcat jenkins
2个回答
1
投票

第一步是从属性文件中删除硬编码的配置文件名,然后就可以通过控制设置SPRING_PROFILES_ACTIVE=dev通过环境变量激活什么资料。其在属性文件中设置spring.profiles.active=dev相同。


0
投票

如果您使用的春天启动应用程序,然后运行该应用程序之前ü应提供-Dspring.profiles.active =刺。默认情况下,春天的环境变量将覆盖目前在属性文件中的配置。但我同意约杰什给出该配置文件不应该在应用程序中硬编码的答案。

现在来开发时,他们检查了他们还可以提供-Dspring.profiles.acitve = dev下在Eclipse的IntelliJ或运行配置参数的代码。

这是在Eclipse /的IntelliJ一次性的配置改变和它的作品真的很好。我们在我们的项目中使用这一点,它确实有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.