帮助将构建从不稳定移到稳定的脚本
zest.stabilizer的Python项目详细描述
Zest内置稳定器
本产品的目标 :Zest.Stabilizer有助于移动后备箱签出 开发构建以标记生产构建中的签出。它 检测最新标签并相应地更改stable.cfg。
目前,Zest软件非常特别 在某种意义上,它被硬编码为两个假设/需求 对我们来说是这样。
要求1:拆分构建配置
在Zest软件公司,我们已经确定了一个特定的buildout.cfg设置 将buildout.cfg分为五个文件:
< DL>因此zest.stabilizer将unstable.cfg中的主干签出移动到tag 在stable.cfg中签出。
要求2:infrae.subversion而不是svn:externals
我们的内部策略是在构建中保留尽可能多的配置 配置。所以我们从svn:externals in src/ 切换到 颠覆。我们扩展了infrae.subversion来支持开发鸡蛋 并支持在与默认目录不同的目录中放置 零件/[partname]/
zest.stabilizer需要一个特定的名称("ourpackages")。这样的部分看起来 像这样:
[ourpackages] recipe = infrae.subversion >= 1.4 urls = https://svn.vanrees.org/svn/reinout/anker/anker.theme/trunk anker.theme http://codespeak.net/svn/z3/deliverance/trunk Deliverance as_eggs = true location = src
稳定剂的作用
当您运行 Stabilize 时,zest.Stabilizer会执行以下操作:
- 检测unstable.cfg中的 [ourpackages] 部分并读取URL。
- 从每个url中删除"trunk"并添加"tags",然后在 Sv.
- 为每一项选择最高的数字。
- 删除stable.cfg中现有的 [ourpackages] (如果存在)。
- 将 [ourpackages] 部分添加到stable.cfg中,并使用可用的最高标记 在里面结账。
- 显示"svn diff"并询问您是否提交更改。
助手命令: needrelease
在稳定之前,通常需要先发布一组产品。如果 您有多个包,检查所有svn日志以查看 自上次发布以来有了变化。
运行needrelease,您将得到每个检测到的包的最后一条svn日志消息。
安装
安装非常简单
zest.stabilizer需要zest.releaser,它作为 附属国。哇,好多好吃的!
包含的程序
全球安装了两个程序:
- 不稳定的固定装置 目前只协助移动src/* 发展蛋到一个基础。颠覆部分。最后它会打印出来 有关您必须手动执行的进一步工作的说明。
- 稳定化 它接受 不稳定.cfg的infrae.subversion部分 找出每个开发包的最新标签。它 然后将类似的部分添加到 stable.cfg
zest.stabilizer的开发版本可以在 https://svn.plone.org/svn/collective/zest.stabilizer/trunk