我已经使用Ratpack和Groovy创建了一个API。所有的GET,POST应用程序都在本地运行。现在,我希望将它移动到某个远程服务器(比如dev环境)。我该怎么做?要在本地启动和运行应用程序,我必须执行eclipse中的"gradle run“或”将Ratpack.groovy作为groovy脚本运行“。然后写着“在本地主机上运行的Ratpack Server :8080”。然后我可以使用api作为本地主机:8080/api/./.但是,同时,当我试图将它作为JAVA应用程序运行时,我得到的错误如下:
{"@timestamp":"2016-06-02T14:47:06.026+05:30","@version":1,"message":"Starting server...","logger_name":"ratpack.server.RatpackServer","thread_name":"main","level":"INFO","level_value":20000,"tags":null}
Exception in thread "main" java.io.UncheckedIOException: java.io.IOException: Is a directory
at ratpack.util.Exceptions.uncheck(Exceptions.java:52)
at ratpack.groovy.Groovy.ratpack(Groovy.java:112)
at ratpack.groovy.Groovy$ratpack.callStatic(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:56)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:194)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:206)
at Ratpack.run(Ratpack.groovy:22)为了在prod中部署它,我将jar移动到服务器上。在此之后,我应该做些什么来启动Ratpack服务器,或者更确切地说是API服务?
发布于 2016-06-06 15:39:19
我建议设置一个CI管道,它构建一个java jar并将工件部署到您的目标环境中。
我建议使用John https://plugins.gradle.org/plugin/com.github.johnrengelman.shadow中的影子插件
这个插件生成一个影子jar (类似于Maven的阴影jar),它可以选择包含bash脚本或批处理脚本来启动应用程序。
高级别建议:
build/installShadow目录到目标服务器的工件build/installShadow/$appName/bin/$appName调用shell脚本启动应用程序对于更易于维护的解决方案,我建议将此shell脚本注册为服务或使用monit/upstart/ etc之类的解决方案。
有关部署到Heroku的更详细示例,请查看我的说明:heroku
https://stackoverflow.com/questions/37660761
复制相似问题