buildout-用于从多个部分创建,组装和部署应用程序的构建系统

Buildout是一个用Python编写并扩展的自动化工具,用于从多个部分创建,组装和部署应用程序的构建系统。

  • 运行构建工具来构建软件。

  • 应用软件和模板以生成配置文件和脚本。

  • 适用于从开发到生产部署的所有软件阶段。

  • 基于核心原则:重复性、组件化、自动化

 

重复性

重要的是,给定项目配置,无论其历史如何,在同一环境(操作系统,Python版本)中对配置的两次检出都应产生相同的结果。

例如,如果某人已经在项目上工作了很长时间,并将更改提交到版本控制系统,则他们应该能够告诉同事签出他们的项目并运行构建,并且生成的构建应该具有相同的功能。结果作为原始工作区域中的构建。

组件化

我们认为软件应该是独立的,或者至少应该是可能的。满足软件职责的工具应主要驻留在软件项目本身内。

一些例子:

  • 软件服务应包括用于监视它们的工具。操作(包括监视)是软件的责任,因为软件的创建者是最了解如何评估软件是否正常运行的人。

  • 在部署生产软件时,应该有可能将软件配置为监视系统以监视软件。

  • 软件应提供使它的配置自动化的工具。人们不必创建单独的配置,无论是在开发中还是在部署中(或介于两者之间的阶段)。

自动化

软件部署应高度自动化。应该可以使用一个(或两个)简单命令检出项目并获得工作系统。这对于实现可重复性和组件化的目标是必要的,并且通常不浪费人们的时间。

Buildout入门

安装Buildout的最简单方法是使用pip:pip install zc.buildout,当然,您也可以从网盘下载Buildout的源代码包

生成配置和自定义脚本

该bobo程序不会自己守护。而是要与zdaemon或supervisor等专用守护程序一起使用。我们将使用配方来设置zdaemon。我们的Buildout配置变为:

[buildout]
parts = bobo server

[bobo]
recipe = zc.recipe.egg
eggs = bobo

[server]
recipe = zc.zdaemonrecipe
program =
  ${buildout:bin-directory}/bobo
    --static /=${buildout:directory}
    --port 8200

 

示例

 

一个非常常见的Buildout用例是管理用Python编写的库或应用程序主要部分的开发。Buildout通过以下develop选项促进了这一点:

[buildout]
develop = .
...

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值