跳转到主要内容

将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]

致谢

TODO任务

  • 获取一个更漂亮的消息添加到历史文件。

项目详情


下载文件

下载您平台的文件。如果您不确定该选择哪个,请了解更多关于 安装包 的信息。

源分发

zest.stabilizer-1.4.tar.gz (8.7 kB 查看哈希值)

上传时间

支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面