停止,删除,重新安装厨师服务

时间:2013-06-26 15:55:32

标签: ruby chef

我正在为基于node.js的网络应用编写一个主厨部署脚本。我是一名厨师n00b。

到目前为止,这进展顺利;我有一个“dependencies.rb”食谱,它安装了我的应用所依赖的所有软件包。现在,我正在尝试编写“install.rb”,它实际上将继续安装我的应用程序。

我想要发生的是:

If the app install directory already exists then:
    Stop the server
    Delete the old install directory
Unpack the new version to the install directory
Start the service

嗯,这有点过于简化,但它或多或少都是我想要完成的。什么是在配方中这样做的最佳方法?我有一种感觉它会涉及“通知”。 :P

1 个答案:

答案 0 :(得分:0)

在大多数情况下,配方将完全匹配您在问题中定义的伪代码。但是,您需要考虑的一件事是如何使配方具有幂等性。

Chef的核心概念之一是,如果机器已经处于正确状态(即您已经部署了正确版本的应用程序),那么您不应该执行任何工作。

虽然我没有使用它们,但您应该查看公开LWRP以部署应用程序的applicationapplication_nodejs烹饪书。

相关问题