将spring boot部署到elasticbeanstalk并设置系统属性

时间:2014-11-22 14:42:16

标签: spring-boot jhipster

我试图将一个弹簧启动应用程序(由teh jhipster yeoman模板生成)部署到aws。我取得了一些成功,但发现自己有一个问题:

如何配置生产配置文件以使用AWS指定的系统属性来正确分配数据库连接信息。

AWS文档只是说将databaseName,serverName,userName,password设置为以下内容:

System.getProperty("RDS_DB_NAME"); 
System.getProperty("RDS_USERNAME"); 
System.getProperty("RDS_PASSWORD"); 
System.getProperty("RDS_HOSTNAME");
System.getProperty("RDS_PORT");

我正在使用yaml文件为Dev和prod模式指定这些参数,我发现自己在问。如何将上述调用注入我的yaml文件?在jruby on rails我会做类似的事情:

username: <%= System.getProperty("RDS_USERNAME") %>

在我的yaml文件中。但是看到这是Java,我认为这不会起作用。或者我应该以不同的方式思考这个问题?看起来很容易做到这一点应该是在yaml文件中,我的很多谷歌搜索似乎并没有出现太多。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:1)

谢谢Julien,

其他任何答案都很简单。

如果您使用yaml文件进行生产设置并通过RelaxedPropertyResolver啜饮属性,则只需在yaml中执行以下操作:

databaseName: ${RDS_DB_NAME}
serverName: ${RDS_HOSTNAME}
username: ${RDS_USERNAME}
password: ${RDS_PASSWORD}

我会打开一个问题,因为我也遇到了其他一些问题,但我也想在这里回答。

答案 1 :(得分:0)

看看我们如何设置在Heroku上部署的属性,它可能工作原理相同:

https://github.com/jhipster/generator-jhipster/blob/master/heroku/templates/Procfile

顺便说一句,我很想拥有一个Beanstalk子生成器,所以如果你成功了,你能分享吗?您可以添加一张故障单,说明您在https://github.com/jhipster/generator-jhipster/issues

所做的操作