我刚刚开始为基于 Play 的应用程序设置防弹夜间构建环境。到目前为止,我还没有找到关于这个主题的好的教程。您能否查看我正在设置的当前解决方案?谢谢。
将 Play Framework 设置到 Jenkins 服务器并创建一个作业,该作业每 24 小时从 git/svn 存储库创建一个分发包。
play dist
以上命令创建 app-1.0.zip 文件。文件被复制并解压缩到多个节点。我们正在使用负载均衡器。最终文件被解压缩到/home/play/webapp/app-1.0 文件夹。
解压缩后,我更改符号链接(symbolic link)/home/play/webapp/app =>/home/play/webapp/app-1.0 并重新加载项目。这个符号链接(symbolic link)真的需要吗?我可以只在旧文件上解压文件吗?我真的需要解压缩项目吗?我可以只创建一个 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`
我也考虑过创建一个重新加载脚本,验证 Play 应用程序是否正在运行,如果没有, Play 应用程序将启动,而不是重新启动。
/etc/init.d/play reload
最好的问候, 马库
最佳答案
我创建了一个 python script从 Jenkins 持续部署一个游戏应用程序。基本上脚本的作用如下:
- 轮询 Jenkins 以检查是否有新构建可用
- 如果有的话
- 查看commit对应的代码
- 编译
- 创建一个包。
- 重启 Play 服务器
- 否则在下一次轮询之前延迟 sleep
重启策略目前是基本的,但您可以很容易地修改脚本来实现另一个策略。除了code,没有更多文档了和 configuration file可读和评论。
关于playframework - 如何从 Jenkins 发布 Play Framework 应用程序以加载平衡环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12833279/