我刚刚开始为基于 Play 的应用程序设置防弹夜间构建环境。到目前为止,我还没有找到关于这个主题的好教程。您能否查看我正在设置的当前解决方案?谢谢。
将 Play Framework 设置到 Jenkins 服务器并创建一个作业,该作业每 24 小时从 git/svn 存储库创建一个分发包。
play dist
上面的命令创建 app-1.0.zip 文件。文件被复制并解压缩到多个节点。我们正在使用负载均衡器。最终文件被解压到 /home/play/webapp/app-1.0 文件夹。
解压缩后,我更改符号链接 /home/play/webapp/app => /home/play/webapp/app-1.0 并重新加载项目。这个符号链接真的需要吗?我可以在旧文件上解压缩文件吗?我真的需要解压缩项目吗?我可以只创建一个 jar 文件并在服务器上运行它吗?
play reload
最后旧应用程序被删除。
rm -rf /home/play/webapp/app-0.9
版本 app-0.9 最初是通过运行以下脚本启动的。
/etc/init.d/play start
脚本是以下脚本的修改:
http://monocaffe.blogspot.fr/2012/09/a-play-framework-server-setup.html
基本上脚本运行以下命令,该命令是我从 app-xxx.zip 文件中的启动文件中找到的。
exec java $* -cp "`dirname $0`/lib/*" play.core.server.NettyServer `dirname $0`
我确实也考虑过创建一个重新加载脚本,它验证播放应用程序是否正在运行,如果没有,播放应用程序已启动,而不是重新启动。
/etc/init.d/play reload
最好的问候, 马尔库