使用jarn.mkrelease自动化发布eggs
项目描述
这是一个与zc.buildout、mr.developer和jarn.mkrelease配合使用的内部EEA工具。它的目的是自动化一系列10个步骤,这些步骤是生成和上传egg到eggrepo所必需的。
这十个步骤包括
将version.txt升级到正确版本;从-dev到final
更新历史文件,记录发布日期;记录最终发布日期
在包目录中运行“mkrelease -d eea”
(可选)运行“python setup.py sdist upload -r eea”
更新buildout中的versions.cfg文件:svn up eea-buildout/versions.cfg
更改eea-buildout/versions.cfg中包的版本
提交versions.cfg文件:svn commit versions.cfg
升级包版本文件;从final到+1-dev
更新历史文件。添加Unreleased部分
提交包的开发版本。
注意:eggmonkey是scm意识到的,所以它会根据需要切换到使用svn、git或hg,但只有git和svn是经过更好测试的scm选项。
要求
eea.eggmonkey需要python2.6+
安装
要使用它,您需要将eea.eggmonkey添加为zc.buildout的一个扩展,例如
[buildout]
extensions =
mr.developer
eea.eggmonkey
parts =
monkey
...
此外,您需要添加一个新部分(如果尚未添加python26部分,则需要添加python26部分)
[monkey]
recipe = zc.recipe.egg
eggs = eea.eggmonkey
python = python26
[python26]
executable = /usr/bin/python2.6
使用方法
在您使用它之前,您至少需要运行一次bin/buildout(或bin/develop)。这允许eggmonkey了解源和自动检出中的包。
之后,您可以使用bin中的monkey脚本。通过运行以下命令了解其参数:
bin/monkey -h
典型用法如下
bin/monkey eea.indicators
您可以在命令行上指定多个包,它们都将被处理
bin/monkey eea.indicators eea.workflow eea.version
或者,如果您想发布buildout自动检出部分中指定的所有egg
bin/monkey -a
有一个特殊的选项可以解决将egg注册到eggrepos中的错误,并将运行一个“python sdist upload”操作,使用-u开关
bin/monkey -u eea.indicators
如果您正在手动上传,您可能需要指定不同的python路径,使用-p开关
bin/monkey -u eea.indicators -p ~/tools/bin/python
如果您需要指定mkrelease脚本的路径,可以将它作为脚本的参数给出,使用-m开关
bin/monkey eea.indicators -m /path/to/bin/mkrelease
如果您不想指定此路径,请将mkrelease脚本放置在PATH环境变量中(通常可以通过激活其virtualenv来实现)。
最后,如果您要将egg发布到不同的存储库,或者如果您已将eggrepo.eea.europa.eu别名为“eea”之外的其他名称,则可以使用-d开关手动指定
bin/monkey -d eeaeggs eea.indicators
如果您想禁止所有网络操作(例如,在测试期间),可以运行
bin/monkey -n eea.indicators
如果您想跳过versions.cfg更新(例如在不含versions.cfg的buildout中运行),可以运行
bin/monkey -B eea.indicators
如果您在正常操作中遇到错误,可以使用-R标志继续发布过程(在手动解决问题后)
bin/monkey -R 4 eea.indicators
使用配置文件提供默认值
您可以在以下格式中编写文件 ~/.eggmonkey
[*] python = /path/to/python mkrelease = /path/to/mkrelease manual_upload = true domain = eea [eea.indicators] domain = eea pypi
这是一个ConfigParser文件格式,其中每个部分都是一个包名,除了星号(*),它为所有包提供默认值。以下选项可以进行配置:python、mkrelease、manual_upload和domain。domain选项可以是空格分隔的包存储库别名列表,其中将上传包。
系统需求
需要libsvn-dev和libaprutil1-dev(在Debian系统上)以及apr-util_develop和subversion_develop(在Redhat系统上)
变更日志
4.5 - (2017-11-15)
错误修复:不要清理
fs
存储库的src [avoinea 引用 #89449]
4.4 - (2017-09-11)
变更:在未知buildout SCM上回退到GenericSCM [avoinea 引用 #87600]
错误修复:修复了print_unreleased_packages的退出码 [avoinea 引用 #87909]
4.3 - (2017-04-24)
变更:更新了包信息 [eduard-fironda]
4.2 - (2017-04-04)
变更:在执行之前打印步骤编号,以便方便恢复 [tiberich]
变更:在buildout.py中修复了pep8问题 [tiberich]
4.1 - (2017-01-17)
错误修复:修复了print_pypi_plone_unreleased_eggs [avoinea]
4.0 - (2016-11-14)
变更:在monkey.py和scm.py中修复了pep8问题 [tiberich]
错误修复:“git pull”不再需要“-u”标志 [tiberich #73195]
功能:允许恢复损坏的发布过程。使用-R<步骤编号>,例如bin/monkey -R4 eea.something,在步骤4中断并中止发布过程后恢复发布过程 [tiberich #73195]
3.9 - (2016-08-03)
变更:在pypi发布检查中包含sparql-client [avoinea]
3.8 - (2015-12-07)
变更:在setup.py中添加了系统依赖项 [voineali 引用 #27406]
3.7 - (2015-11-23)
错误修复:修复了pypi上的发布检查 [voineali]
3.6 - (2015-11-16)
变更:禁用plone.org上的发布检查 [voineali]
3.5 - (2015-10-05)
错误修复:使用eventlet防止连接挂起 [lucas 引用 #29063]
3.4 - (2015-06-03)
错误修复:修复了旧版本检查 [ghicaale 引用 #25722]
3.3 - (2015-06-02)
错误修复:修复了错误导入 [ghicaale 引用 #25722]
3.2 - (2015-02-03)
功能:更新版本规范以遵循PEP440版本规范 [olimpiurob 引用 #22612]
3.1 - (2014-09-19)
功能:现在所有错误报告现在都包括存储库的路径。[ghicaale 引用 #20520]
3.0 - (2014-02-13)
变更:回到egg 2.8中引入的行为,因为2.9在尝试添加文件时会出现错误 [ichimdav]
2.9 - (2014-02-13)
变更:更好的修复了在get_scm中使用提交时的错误 [ichimdav]
2.8 - (2014-02-13)
错误修复:修复了通过传递a标志提交版本提升时的get_scm提交 [ichimdav]
2.7 - (2014-02-03)
功能:使用pypi JSON API检查包是否在pypi上发布 [voineali]
2.6 - (2014-01-22)
错误修复:移除了错误添加的引用块 [ichim-david 引用 #18064]
错误修复:修复了添加MANIFEST.in以符合scm.py模块中API更改的问题 [olimpiurob]
2.5 - (2013-12-10)
功能:添加-B选项。如果提供它,将跳过versions.cfg更新 [batradav]
2.4 - (2013-09-26)
错误修复:修复了控制消息以在python 2.6和2.7上工作 [ghicaale 引用 #16729]
2.3 - (2013-09-06)
功能:添加了get_scm引发ValueError的详细信息 [szabozo0]
2.2 - (2013-08-09)
错误修复:错误地添加了删除的行 [tiberich]
2.1 - (2013-05-16)
功能:添加了检查pypi上但不在plone.org上发布的包的脚本 [voineali]
错误修复:将check_latest脚本更改为使用.installed.cfg文件来获取egg信息,避免在buildout内部混乱,并依赖于似乎不太正常工作的zc.buildout.unloadextension [tiberich #14390]
2.0 - (2013-03-06)
错误修复:在发布包之前提交version.txt和history.txt [tiberich #13987]
1.9 - (2013-02-08)
错误修复:如果使用不兼容的zc.buildout版本,则不会失败。这用于清理源文件夹 [tiberich]
1.8 - (2013-01-28)
错误修复:添加了有关包元数据中所需字段的信息 [tiberich]
1.7 - (2013-01-15)
错误修复:从文件的第一字符中删除BOM [tiberich]
错误修复:如果安装collective.dist失败,则不会中止 [tiberich]
1.6 - (2012-11-22)
错误修复:当存储库源以斜杠结束时,修复了/src清理 [ghicaale 引用 #9527]
1.5 - (2012-11-22)
错误修复:在没有在版本部分之间留下空行时改进了历史解析 [tiberich 引用 #10000]
1.4 - (2012-11-20)
错误修复:在生成的MANIFEST.in中添加了换行符 [tiberich 引用 #5493]
1.3 - (2012-08-29)
错误修复:在发布新egg时推送到GitHub上的标签 [voineali修复#5486]
1.2 - (2012-08-07)
变更:将手动上传设置为默认操作,避免与eea eggrepo服务器的问题。[tiberich #5356]
1.1 - (2012-08-07)
特性:添加了实用脚本,可以简单地使包处于-dev版本。这对于开发eggmonkey本身很有用。[tiberich #5356]
错误修复:修复了默认域的处理[tiberich #5356]
错误修复:修复了处理git仓库提交的处理[tiberich #5356]
1.0 - (2012-07-13)
特性:改进了未发布egg的更改日志输出,使我们能快速了解每个未发布egg中有什么。[demarant引用#5224]
变更:使用不同的版本策略来增加版本。现在我们从0.0.9跳到0.1.0,而不是0.0.10[tiberich #5293]
0.40 - (2012-06-12)
错误修复:如果不忽略错误并且存在错误,则退出eggmonkey[tiberich]
0.39 - (2012-05-21)
错误修复:修复了print_unreleased_packages的入口点[tiberich]
错误修复:修复了HISTORY.txt文件的标记[cio babog引用#5231]
0.38 - (2012-05-21)
错误修复:如果存在,则不要覆盖manifest文件[tiberich]
0.37 - (2012-05-21)
错误修复:当遇到以修订号(格式为rNNN)开始的history条目行时不要失败[tiberich #3978]
特性:使用zest.pocompile将po文件编译为mo文件[tiberich #5120]
0.36 - (2012-04-20)
错误修复:修复scms[tiberich #4154]
0.35 - (2012-04-20)
错误修复:修复scms[tiberich #4154]
0.34 - (2012-04-19)
错误修复:修复scms[tiberich #4154]
0.33 - (2012-04-19)
错误修复:修复了scms错误处理路径[tiberich #4154]
0.32 - (2012-04-19)
错误修复:如果pypi或plone.org上有未发布的包,print_pypi_plone_unreleased_eggs sys以正确的退出代码(1)退出[tiberich]
特性:也支持mercurial和git[tiberich #4154]
0.31 - (2012-01-04)
特性:添加了print_pypi_plone_unreleased_eggs控制台脚本,该脚本将打印未在pypi或plone.org上发布的包[tiberich]
0.30 - (2011-10-07)
特性:添加了print_unreleased_packages控制台脚本,该脚本将打印历史记录脏乱的包[tiberich]
清理:pyflakes警告[ichimdav #4141]
清理:pylint违规[ichimdav #4140]
变更:在执行手动上传操作时使用--quiet标志[tiberich]
错误修复:在因错误退出时打印步骤和说明[tiberich]
0.29 - (2010-12-10)
错误修复:处理没有当前包条目的个人配置文件时修复了一个错误[tiberich]
错误修复:修复了在离线模式下运行时打印消息的问题[tiberich]
特性:允许处理具有发布版本修订号的版本号的history文件[tiberich]
0.28 - (2010-11-25)
错误修复:即使在--no-network模式下运行,也始终安装collective.dist[tiberich]
0.27 - (2010-11-22)
特性:允许在~/.eggmonkey中进行自定义配置[tiberich]
变更:在运行mkrelease和easy_install时使用-q(安静)标志[tiberich #3858]
0.26 - (2010-11-19)
错误修复:修复了使用-u开关发布egg中的错误[tiberich]
0.25 - (2010-11-16)
特性:使用collective.dist检查包元数据的有效性[tiberich #3851]
特性:现在可以指定多个存储库来注册和上传egg[tiberich #3850]
变更:使用异常引发退出程序[tiberich]
0.24 - (2010-11-11)
错误修复:改进了历史文件空行检测[tiberich #3807]
错误修复:只有在允许网络操作时才执行svn up[tiberich #3807]
0.23 - (2010-11-10)
变更:改进了将版本更改为-dev时的svn提交信息[tiberich #3807]
0.22 - (2010-11-10)
变更:添加了版本增加的测试[tiberich #3807]
错误修复:改进了版本增加的算法,现在我们也查看-svn版本[tiberich #3807]
错误修复:改进了版本验证的算法[tiberich #3807]
错误修复:测试mkrelease路径是否与python路径相同,以警告用户错误[tiberich #3807]
错误修复:将svn update移到包健全检查的顶部[tiberich #3807]
错误修复:在setup.py文件中查找数字版本,如果存在,则失败[tiberich #3807]
错误修复:测试HISTORY.txt中的版本是否与version.txt中的版本相同[tiberich #3807]
0.21 - (2010-10-29)
错误修复:在处理包之前运行svn up[tiberich #3806]
0.20 - (2010-10-28)
特性:添加了--python配置选项,用于与手动上传一起使用[tiberich]
变更:重构了消息打印[tiberich]
0.19 - (2010-10-20)
如果缺失,则添加MANIFEST.in文件
0.18 - (2010-09-30)
修改了sdist命令,使其生成zip文件而不是.tar.gz文件 [tiberich #3642]
0.17 - (2010-09-30)
当步骤有参数时,删除y/n/q提示 [tiberich #3642]
0.16 - (2010-09-30)
检查包名的有效性,并说明eggmonkey需要在buildout文件夹中运行 [tiberich #3642]
0.15 - (2010-09-28)
错误修复:修复手动上传步骤的调试信息打印问题 [tiberich #3642]
0.14 - (2010-09-28)
功能:处理setup.cfg导致手动上传提供svn版本的情况 [tiberich #3642]
功能:打印运行中的命令的蓝色信息 [tiberich #3642]
0.13 - (2010-09-28)
功能:检查从解析文件获取的版本是否有效 [tiberich #3642]
0.12 - (2010-09-28)
错误修复:在开始处理包时检查包是否为-dev版本 [tiberich #3642]
0.11 - (2010-09-20)
使用彩色输出使eggmonkey信息更容易区分
在开始之前检查versions.cfg是否存在
当使用-u标志时,在执行mkrelease时从用户那里获取输入,如果出错
改进更改版本到开发时的提交信息
0.10 - (2010-09-17)
为mkrelease脚本和包路径添加健全性检查
0.9 - (2010-09-16)
更新readme文件,包含python2.6要求的详细信息
0.8 - (2010-09-16)
修复处理历史文件中的错误
0.7 - (2010-09-16)
修复增加versions.cfg的小错误
0.6 - (2010-09-16)
使用shell进行手动上传操作
0.5 - (2010-09-16)
更改手动上传的执行方式
0.4 - (2010-09-16)
修复setup上传命令的执行
0.3 - (2010-09-16)
修复monkey模块中setup.py的错误名称
0.2 - (2010-09-16)
mkrelease因eggrepo上不存在register命令而失败,现在我们处理这种情况 [tiberich]
0.1 - (2010-09-16)
初始化提交 [tiberich]
项目详情
eea.eggmonkey-4.5.zip的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ff53557859a888fe59947453ee0bcdcb4cedff9399fdf6ac4cb8172006cf6913 |
|
MD5 | 6aa197e83a73e7a22139f56b85befb91 |
|
BLAKE2b-256 | bb43585dcc3ff5a2e5c8dabc41d391c9655b076cdcad2918ab1c9e1a1b356068 |