为postdeploy构建配方。
isotoma.recipe.postdeplo的Python项目详细描述
部署后
这个配方是给那些想轻松配置的人准备的 管理。它提供了完整配置管理系统的功能 (yaybu)但以一种与构建配置集成的方式。
您可以:
< Buff行情>- 使用它作为使用"模拟"模式检查任务是否完成的方法。如果 有人忘记在一个新的配置文件符号链接,模拟将显示你!
- 监视在构建过程之外手动修改的文件。 将simulate命令连接到nagios并在退出代码不是254时发出警报 因为这意味着你的服务需要关注!
- 显然,在构建之后,自动执行通常运行的任务 需要提升权限,例如设置日志轮换,启用apache 虚拟主机和设置cron作业。
当然,它可以被另一个配置管理工具调用,比如 当你准备升级时,木偶,厨师甚至是另一个yaybu实例。 这是一个让您的主服务器cm担心全局的好模式 而您的构建所附带的cm担心的是一些小细节。
基本用途
考虑一个简单的yaybu配置:
resources.append: - Execute: name: some-script command: ${buildout.buildout.directory}/bin/somescript user: root creates: ${buildout.buildout.directory}/stuff.cfg
你可以像这样把它连接到buildout中:
[buildout] parts = postdeploy [postdeploy] recipe = isotoma.recipe.postdeploy config = config.yay
查看配置的"扩展"形式-包含所有变量 填写-您现在可以(在运行buildout之后)执行:
$ ./bin/postdeploy show resources: - Execute: name: /var/somedir/bin/somescript user: root creates: /var/somedir/stuff.cfg
这个命令可以选择使用 -v 来显示 配置。
您可以模拟应用配置时会发生什么,而不会对 使用 simulate命令的系统:
$ ./bin/postdeploy simulate /---------------------------- Execute[some-script] ----------------------------- | # /var/somedir/bin/somescript \-------------------------------------------------------------------------------
如果认为没有更改,则此命令的退出代码为254 必需,如果成功模拟应用了某些更改和任何内容,则为0 否则表示配置有问题。它是一个理想的监控 工具,因为它可以警告手动黑客或未完成的部署。
最后,您可以使用 apply 应用配置:
$ ./bin/postdeploy simulate /---------------------------- Execute[some-script] ----------------------------- | # /var/somedir/bin/somescript | Here is the stdout from your command | .... | .... | Success! \-------------------------------------------------------------------------------
强制参数
< DL>可选参数
< DL>要监视的值的列表。当您有一个零件列表时,这很有用 是构建管理的,但在postdeploy中需要符号链接。使用历史记录 跟踪您可以确保将它们从系统中删除,如果它们是 从建筑中移除。
例如:
[buildout] parts = ${parts:apache} postdeploy [vhost1] <snip> [parts] apache = vhost1 vhost2 [postdeploy] recipe = isotoma.recipe.postdeploy history.track = parts:apache
在您的Yaybu配置中:
resources.append: .foreach vhost in history.parts.apache: - Link: name: /etc/apache2/sites-enabled/${buildout.sitename}-${vhost} policy: remove
第一次使用当前状态运行buildout数据文件是 创建,如果从构建中删除vhost2并运行postdeploy Yaybu将确保删除您的符号链接。这些数据持续存在于 即使忘记运行postdeploy,多个构建也是安全的。
有多种历史类型。默认值为删除。另一 例如 max 它将跟踪字段具有的最大值 曾经举办过。如果使用可缩放的 服务,并希望在更新时停止旧服务 构建:
[postdeploy] history.track = environment:zopes max
然后,我可以在yaybu配置中执行类似的操作:
.foreach i in range(buildout.environment.zopes, history.environment.zopes): - Execute: name: stop-forgotten-zope-${i} command: kill-command zope${i} unless: some-manual-pid-check
通常不需要更改此设置。
因为这个配方必须支持Python2.4,所以它不能使用Yay作为它的主 数据存储。这是指向python工具架的路径。
默认值是 ${buildout:directory}/var/${partname}-history.db
通常不需要更改此设置。
历史数据.db 被持久化为yay,从这里加载 运行 bin/postdeploy 时
默认值是 ${buildout:directory}/var/${partname}-history.yay
存储库
此软件可从github上的配方存储库中获得。
许可证
2012 ISOtoma有限公司版权所有
根据apache许可证2.0版(以下简称"许可证")授权; 除非符合许可证,否则您不能使用此文件。 您可以在
< Buff行情> http://www.apache.org/licenses/license-2.0除非适用法律要求或书面同意,否则软件 根据许可证分发是按"原样"分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。