springboot Application

时间:2016-04-16 17:37:49

标签: amazon-web-services spring-boot

我尝试使用github和jenkins作业自动部署代码,以在AWS上部署我的Springboot应用程序。

我想知道我应该在哪里放置application.properties文件,以防我在Tomcat上部署war文件,并且不希望将此文件推送到github,因为它可能包含一些数据库凭据,而不是暴露。

我应该在Tomcat(AWS)中放置单独的application-prod.properties文件,以便我的war文件独立于这些属性吗?

2 个答案:

答案 0 :(得分:2)

请参阅我的回答here

简而言之,您将属性外部化,然后传递一个或多个将激活一个或多个Spring Configuration类的配置文件。每个Configuration类都将加载一个或多个属性文件。在您的情况下,如果您只有一个环境,则只需为一个配置文件创建配置文件即可。

然后,在您的AWS实例上,您将单独部署配置文件。在运行时,您需要将活动配置文件传递给Spring Boot应用程序。您可以通过传递VM参数来执行此操作:-Dspring.profiles.active = [your-profile]

我正在完成在线课程的最后讲座,该课程展示了如何使用Thymeleaf,Spring Security,Email和Data JPA从头开始创建Spring Boot网站,如何使用Stripe处理信用卡付款以及如何部署到AWS。您可以注册您的兴趣here

答案 1 :(得分:1)

如何使用spring-cloud-starter-config代替本地属性?

如果使用spring-cloud-start-config,则应从config-center加载所有配置,而不是在本地读取。

即使您有多个不同的环境,spring-cloud-starter-config也可以使用不同的profiles处理它。

还有什么,spring-cloud-starter-config也可以使用本地environment变量。

顺便说一下,如果您使用bootstrap.yml,则唯一的本地资源可能是spring-cloud-starter-config

希望我能帮到你!