【发布时间】:2012-09-27 07:25:53
【问题描述】:
我一直在使用 Jenkins,这真的很麻烦。 Jenkins 作为构建服务器非常棒,但对于部署而言,它通常不起作用,更糟糕的是,最终会挂很多。
Heroku 之类的东西真的很吸引人,因为我只想做一个 git push。
也许有办法通过 jenkins 插件支持远程部署?
我的构建机器是 mac mini。
【问题讨论】:
标签: java tomcat amazon-ec2
我一直在使用 Jenkins,这真的很麻烦。 Jenkins 作为构建服务器非常棒,但对于部署而言,它通常不起作用,更糟糕的是,最终会挂很多。
Heroku 之类的东西真的很吸引人,因为我只想做一个 git push。
也许有办法通过 jenkins 插件支持远程部署?
我的构建机器是 mac mini。
【问题讨论】:
标签: java tomcat amazon-ec2
您始终可以利用 webistrano 之类的发布工具进行部署。我们经常使用 webistrano 或 Capistrano 进行部署,然后 Jenkins 对其进行健全性测试
【讨论】:
我认为自己是 Jenkins 的新手,
但假设您可以编写自己的脚本(我知道您可以),
假设 EC2 有部署 API,为什么你不能编写一个简单的脚本来为你做这件事,一旦构建成功?
使用OpenShift 怎么样?我认为他们有一个带有 tomcat 的 PaaS 配置 - 这能以任何方式帮助您执行所需的任务吗?
【讨论】:
我个人的偏好只是为此目的编写一个 Ant 脚本。有几个任务使它相当容易。 scp、sshexec 任务是最好的。但是,请记住 sshexec 不会启动 shell!它只是执行一个命令,因此您没有 shell 为您提供的当前工作目录、环境变量、没有变量替换等。您可以使用此技巧将变量从客户端传递到服务器,执行以下操作:
How to use SSH to run a shell script on a remote machine?
这有助于使您的脚本在一定程度上保持环境/机器中立。所以使用 scp 将你的包推送到服务器上,然后使用 sshcommand 使用 unix 脚本部署它,将其复制出来,重启 tomcat 等。
【讨论】: