我正在为我正在从事的项目寻找一种远程部署策略,甚至从头开始设计一个。
但是我偶然发现了一个几乎相同的实现,称为 Webistrano。有没有人尝试使用它进行项目部署,还有人在使用它吗?这有什么好处,还是让你想用钝铅笔刺伤自己的眼睛?
我正在为我正在从事的项目寻找一种远程部署策略,甚至从头开始设计一个。
但是我偶然发现了一个几乎相同的实现,称为 Webistrano。有没有人尝试使用它进行项目部署,还有人在使用它吗?这有什么好处,还是让你想用钝铅笔刺伤自己的眼睛?
我的 webdev 公司成功地将它用于不同生产服务器上的几十个 PHP 项目。我们对此非常满意!
Webistrano 是 capistrano 的 Web GUI。我们选择它而不是直接运行 Capistrano 的原因是它提供了一个很好的集中式界面。我们的大多数开发人员都不是很精通 CLI,我认为他们真的不需要。与其让 capistrano 食谱到处传播,我们更喜欢网络应用程序的方法。
Webistrano 存储每个部署日志和用户名,因此我们有一些责任。它提供了一个中心位置,可以查看当前项目的哪个修订版本。一些管理员能够为 Webistrano 创建配方,并且 Webistrano 的 GUI 可以被我们内联网上的所有开发人员访问。他们只需要选择一个项目和一个阶段(如 Dev 或 Prod)并按下部署。
它大大降低了出错的可能性,并且证明对我们来说是完美的。
我想念的一些功能:
它是开源的,所以我可能应该看看自己实现其中的一些。只是希望我在 Ruby on Rails 上做得更好。
关于Webistrano中用户权限不足的问题,可以试试Webistrano Privilege插件:https ://github.com/espace/webistrano_privileges/
“Webistrano 特权,是 webistrano 1.3 的 Rails 插件,用于引入用户对项目的访问控制。它将保护和组织用户对项目的访问,并赋予他们部署他们只能访问的项目的特权。”
假设您正在部署到 *nix 服务器...
为什么不直接使用 webistrano 只是一个包装器的 capistrano 呢?它可以配置为部署几乎任何东西。(Capistrano 使通过 ruby 使用 ssh 变得容易。)
如果您不部署 Rails,您可能最终会编写自定义脚本,如果您有任何系统管理经验,这应该不难。capistrano 项目的文档很烂,但是有很多人已经弄清楚了,一旦你的部署脚本工作了,你应该会很好。