我有兴趣从 Capistrano 切换到 Chef,但是在将所有部分放在一起时遇到了一些问题。
我已经关注了http://wiki.opscode.com/display/chef/Quick+Start并且能够使用knife
. 至于代码部署,看起来好像我想做http://wiki.opscode.com/display/chef/Deploy+Resource中的内容,唯一的问题是,该页面上没有提到它在哪个目录中/file 部署/to/path
代码块应该去。
我遇到的另一个问题是了解如何在设置服务器后部署代码更改。也许我只是习惯了我当前的工作流程(git push && cap deploy
),但我能说的最好的是,在我提交我的更改后,我应该 ssh 到服务器并运行sudo chef-client
?感觉有些不对劲。是否没有等效的上限,即chef deploy
?
最后(也许这有点困难),我希望将多个 Rails 应用程序部署到单个服务器。在每个应用程序的存储库中保留某种厨师配置文件来描述其部署的细节似乎是谨慎的,但我不确定这将如何与厨师存储库/托管服务器进行交互。每个应用程序都是一个角色吗?从我对事物工作方式的理解来看,我对“主厨客户端”会在运行时尝试部署所有应用程序的想法也有点不安。我git push && cap deploy
确定我正在部署什么。而其他一些应用程序存储库可能不处于可部署状态。有没有办法在这个设置中只部署一个应用程序?