使用jhipster 5.7.2。
我正在尝试按照the documentation
将用jhipster创建的网关部署到heroku。该网关正在使用mongodb并在我的计算机上工作。直接使用本地mongodb以及docker-compose测试了该应用程序。一切都很好。
然后我尝试将其部署在heroku上:
jhipster heroku
但是无法启动:
2019-01-07T23:37:16.326055+00:00 app[web.1]: java.lang.IllegalArgumentException: Invalid argument syntax: --spring.data.mongodb.database=
2019-01-07T23:37:16.326066+00:00 app[web.1]: at org.springframework.core.env.SimpleCommandLineArgsParser.parse(SimpleCommandLineArgsParser.java:75)
2019-01-07T23:37:16.326074+00:00 app[web.1]: at org.springframework.core.env.SimpleCommandLinePropertySource.<init>(SimpleCommandLinePropertySource.java:90)
2019-01-07T23:37:16.326076+00:00 app[web.1]: at org.springframework.boot.DefaultApplicationArguments$Source.<init>(DefaultApplicationArguments.java:76)
2019-01-07T23:37:16.326078+00:00 app[web.1]: at org.springframework.boot.DefaultApplicationArguments.<init>(DefaultApplicationArguments.java:42)
2019-01-07T23:37:16.326081+00:00 app[web.1]: at org.springframework.boot.SpringApplication.run(SpringApplication.java:295)
2019-01-07T23:37:16.326122+00:00 app[web.1]: at com.lastcall.gateway.GatewayApp.main(GatewayApp.java:66)
2019-01-07T23:37:16.326397+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2019-01-07T23:37:16.326400+00:00 app[web.1]: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
正如我在控制台中看到的那样,heroku执行的完整命令是:
`java $JAVA_OPTS -Xmx256m -jar target/*.war --spring.profiles.active=prod,heroku,no-liquibase --server.port=4838 --spring.data.mongodb.database=$(echo "$MONGODB_URI" | sed "s/^.*:[0-9]*\///g")`
从这里我不确定下一步要去哪里。它是应该立即可用吗?还是我错过了一些步骤? 我想我应该将自己的mongodb安装在heroku上,但是我不确定。 也欢迎任何有关托管jhipster微服务架构的建议。
预先感谢:)
更新: 实际上,未在服务器上设置deploy命令中提到的环境变量'MONGODB_URI'。在这一点上,我假设我应该手动创建一个mongodb服务器,并设置此变量?
答案 0 :(得分:0)
您必须为Heroku应用程序安装MongoDB插件,您可以在Heroku页面上执行以下操作或运行以下命令:
heroku addons:create mongolab
然后,将设置环境变量MONGODB_URI。