Jenkins选择Spring Boot配置文件的任何方式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins选择Spring Boot配置文件的任何方式?相关的知识,希望对你有一定的参考价值。
我的小组正在使用Jenkins构建和部署Spring Boot应用程序到AWS(Elastic Beanstalk)。
对于开发,我通过在application.properties中设置spring.profiles.active
属性来为我所在的环境(DEV,QA)选择所需的配置文件。
但是开发人员希望在外部设置该属性。由于应用程序正在部署到SpotInst托管的EC2,因此我无法控制环境。
我一直在做很多搜索,但还没有遇到任何适合这种情况的事情。
我正在使用Gradle进行构建。构建生成WAR文件并部署到Tomcat。
无论如何,通过某种参数替换来实现这一目标?
谢谢。
我们的devOps人员发现我们可以通过AWS Beanstalk设置环境属性。通过转到beanstalk实例上的Configuration并单击Software下的Modify按钮,向下滚动,有一个环境变量部分。他把spring.profiles.active = qa放进去处理它。
由于每个单独的环境都有一个beanstalk,因此只需为每个环境设置一次。
我不确定这是否适合您的devOps过程,但有一个非常简单和干净的方法来实现这一点。
配置您的application.yaml
文件,如下所示:
spring:
profiles:
active: ${SPRING_PROFILE:"dev"}
在启动应用程序时,将此参数SPRING_PROFILE
作为命令行参数传递。请注意,dev
是默认值,如果程序找不到任何匹配的命令行参数或环境变量,将使用该值。
您可以将默认值设置为要用于devOps的默认值,而对于您可以控制的所有其他目的,您可以将其作为参数传递。
以上是关于Jenkins选择Spring Boot配置文件的任何方式?的主要内容,如果未能解决你的问题,请参考以下文章
spring boot(十六)使用Jenkins部署spring boot
Spring Boot(十六):使用Jenkins部署Spring Boot
springboot(十六):使用Jenkins部署Spring Boot
Docker 学习 | 第八篇:Docker + Jenkins单机部署Spring Boot项目