为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>
配置
要应用于此计算机的Yay文件。它可以访问 你的建筑。

可选参数

< DL>
搜索路径
一组目录或url,用于搜索完全配置所需的资产 本网站。
历史轨迹

要监视的值的列表。当您有一个零件列表时,这很有用 是构建管理的,但在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

历史.yay

通常不需要更改此设置。

历史数据.db 被持久化为yay,从这里加载 运行 bin/postdeploy

默认值是 ${buildout:directory}/var/${partname}-history.yay

可执行文件
要使用的python可执行文件。默认为调用 建造。这是为了支持python 2.4构建,因为yaybu需要2.6或 2.7、

存储库

此软件可从github上的配方存储库中获得。

许可证

2012 ISOtoma有限公司版权所有

根据apache许可证2.0版(以下简称"许可证")授权; 除非符合许可证,否则您不能使用此文件。 您可以在

< Buff行情> http://www.apache.org/licenses/license-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按"原样"分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java中创建固定大小的泛型数组?   javascript Paypal Braintree订阅付款   使用BufferedReader和PrintWriter实现java数据持久化?   类似于iCloud的java唯一google id   java使用网格布局和抓取组合框   java我的while循环无限运行,当我检查它时,它说while循环没有主体,而我认为它显然没有主体   java LWJGL碰撞3D OpenGL   java将Tibco RV切换到WebSphere MQ?   java如何使用Postman从curl发布REST   java是超级的,在通用通配符中是独占的吗?   在swing 1.5中,java在指定时间后自动关闭非模态对话框   java PrimeFaces饼图在JSF 2.0中不显示   java如何在Spring MVC中提供带有xml配置的默认bean实现?   java在eclipse中使用按钮关闭JFrame   java Sqoop jar已弃用   Java中的Getter方法