将buildout从不稳定版迁移到稳定版的脚本
项目描述
Zest buildout稳定器
此产品的目标:zest.stabilizer帮助将开发buildout中的主干检出来迁移到生产buildout中的标签检出来。它检测最新的标签并相应地更改stable.cfg。
目前它在某种程度上非常针对Zest软件特定,因为它硬编码了两个假设/要求,这对我们来说是真实的。
要求1:分割buildout配置
在Zest软件,我们已经确定了一个特定的buildout.cfg设置,将buildout.cfg分割成五个文件
- unstable.cfg
主干检出来、开发蛋、开发设置。
- stable.cfg
标签检出来、发布蛋。没有开发产品。
- devel.cfg/preview.cfg/production.cfg
作为production.cfg进行符号链接。配置的不同部分,开发笔记本电脑上的部分、预览和生成系统。端口号、varnish安装等。Devel扩展unstable,preview和production扩展stable。
因此,zest.stabilizer将unstable.cfg中的主干检出来迁移到stable.cfg中的标签检出来。
要求2:使用infrae.subversion而不是svn:externals
我们内部的政策是将尽可能多的配置保存在构建配置文件中。因此,我们已经从src/中的svn:externals切换到infrae.subversion。我们将infrae.subversion扩展以支持开发egg,并支持放置在默认目录parts/[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
zest.stabilizer的作用
当你运行stabilize时,zest.stabilizer会执行以下操作
检测unstable.cfg中的[ourpackages]部分并读取url。
从每个url中删除“trunk”,添加“tags”并在svn中查找可用的标签。
获取每个的最高编号。
如果存在,删除stable.cfg中现有的[ourpackages]。
将带有最高可用标签签出的[ourpackages]部分添加到stable.cfg中。
显示“svn diff”并询问你是否要提交更改。
辅助命令:needrelease
在稳定化之前,通常需要先发布一组产品。如果你有多个包,检查所有svn日志以查看自上次发布以来是否有变化是一项繁琐的工作。
运行needrelease,你会得到每个检测到的包的最后svn日志消息。
安装
安装很简单,使用easy_install zest.stabilizer。
zest.stabilizer需要zest.releaser,它作为依赖项自动安装。哇,更多好东西!
包含的程序
安装了两个全局程序
unstable_fixup,目前仅帮助将src/*开发egg移动到infrae.subversion部分。最后它会打印出你必须手动执行的进一步工作的说明。
stabilize,它获取unstable.cfg中的infrae.subversion部分,并为每个开发包找到最新的标签。然后它将类似的部分添加到stable.cfg中。
zest.stabilizer的开发版本可以在https://svn.plone.org/svn/collective/zest.stabilizer/trunk找到。
Changelog zest.stabilizer
1.4 (2009-04-01)
依赖于zest.releaser 2.0或更高版本。[maurits]
1.3 (2009-04-01)
修复了我们的代码,使其与重构后的zest.releaser(更多vcs支持)一起工作。[maurits]
1.2.2 (2009-02-16)
修正了错别字。[reinout]
1.2.1 (2009-02-16)
转移到collective svn。[reinout]
1.2 (2009-02-16)
现在在历史文件中记录更改。[reinout]
1.1.1 (2009-02-11)
小修复。-l在所有地方都不存在,但–limit存在。[reinout]
1.1 (2009-02-11)
添加了needrelease命令,显示每个检测到的开发包的最后日志消息。很容易看出是否还有需要发布的包。[reinout]
1.0 (2009-02-08)
首次发布到pypi。[reinout]
修复了文档,以便产品可以在Zest之外使用。[reinout]
0.2 (2008-11-06)
现在由于infrae.subversion 1.4已发布,更改了添加到stable.cfg中的行。[maurits+reinout]
在保存stable.cfg或unstable.cfg之前,在内容末尾添加换行符。[maurits]
0.1 (2008-10-23)
现在从[ourpackages]提取unstable egg,而不是从develop部分。[reinout]
unstable_fixup将[ourpackages]部分添加到‘develop =’部分的替代位置。[reinout]
添加了unstable_fixup脚本来检查/执行在unstable.cfg中需要执行的常见修复。[reinout]
将stabilize脚本从zest.releaser中复制出来。[reinout]
致谢
Reinout van Rees(Zest软件)是创始人兼主要作者。
Maurits van Rees(Zest软件)添加了几个修复和unstable_fixup实用程序。[maurits]
TODO任务
获取一个更漂亮的消息添加到历史文件。
项目详情
zest.stabilizer-1.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | dfcb353a175764b655a71cd7986b4f5c3df830ee421333e88afa41f6a86453a1 |
|
MD5 | 617b3f6804bdd8fd6f018370b76e69a4 |
|
BLAKE2b-256 | 1b9d96e906da3dafd8cda0393a4cd1818015d38a8d1241ad7d85132f49b7004c |