playframework - 如何从 Jenkins 发布 Play Framework 应用程序以加载平衡环境

标签 playframework centos playframework-2.0 load-balancing nightly-build

我刚刚开始为基于 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/

相关文章:

java - Play2 框架初学者。获取<select>中所有选中的元素

Scala 用于理解 Future、List 和 Option

scala - 如何在scala/play中将casbah mongodb列表转换为json

linux - RPM 需要当前安装的内核的内核开发包

ssh - FTP 脚本 - 将图像放在年份/日期文件夹中

java - 调用定义中缺少参数错误 : String

scala - Play 2.0 中的默认配置导致 IOException?

scala - 如何在不重新启动的情况下重新加载 messages.en?

scala - JMX 与 Play 2.XX 框架

centos - CentOS 6.7上的mutt安装错误