BuildOut扩展,允许从私有GitHub存储库下载到BuildOut查找链接和下载菜谱

githubbuildout的Python项目详细描述


从github构建

github已经成为软件工程团队常用的scm工具。 此构建扩展的目的是启用源代码的检索 通过使用APIv3的 基于令牌的身份验证,结合一些url重写来检索 需要时使用API服务器而不是主网站的文件。

有关安装和使用说明,请参阅以下各节。

请求API密钥

在可以从此模块访问专用存储库之前,必须创建 并在运行buildout的每个系统上存储一个api密钥。不像v2 api 为每个用户颁发了一个密钥,您可以创建任意多个密钥, 随意撤销。

api密钥绑定到单个用户帐户。

您可以使用curl创建api v3密钥(请替换您自己的github 用户名:

curl -s -X POST -d '{"scopes": ["repo"]}' -u ${user} \
    https://api.github.com/authorizations | grep token

重要提示:必须指定scopes属性以确保对 私有存储库;保留作用域为空提供对 公共数据。

如果您计划将多个密钥分发到不同的系统(例如 自动化构建环境),您可能希望包含 以后能够区分它们:

curl -s -X POST -d '{"note": "build001.mydomain.ext", "scopes": ["repo"]}' \
    -u ${user} https://api.github.com/authorizations | grep token

在git config中存储api密钥

现在将github.accesstoken的值配置为从 上面的命令:

git config --global github.accesstoken ${token}

有关管理授权github的oauth令牌的详细信息,请参见api 文档:http://developer.github.com/v3/oauth/#oauth-authorizations-api

github存储库下载

你可以指示buildout从你的 通过指定与您在浏览器中使用的相同的url来存储库 使用以下语法检索:

https://github.com/${user}/${project}/${archivetype}/${refid}

重要提示:url必须使用要检索的https协议 使用此扩展;将忽略使用http协议的url。

实际上,您通常会使用这个来检索 在构建文件中以egg的形式安装,使用类似的方法:

[buildout]
find-links =
    https://github.com/me/myproject/tarball/master#egg=myproject

eggs = myproject

parts = myproject

[myproject]
unzip = true
recipe = zc.recipe.egg
path = myproject

注意:这些url将在检索期间重写,以使用api v3 url代替。 如果愿意,可以显式指定用于检索文件的api服务器url:

https://api.github.com/repo/me/myproject/tarball/master

github静态下载(不推荐)

重要提示:github不支持静态下载 从2012年12月11日起,将在“90天内”(2013年3月11日当天或前后)移除。 如果您的项目依赖于此功能,那么现在是制作 备用计划。有关详细信息,请参见下面的链接:

https://github.com/blog/1302-goodbye-uploads

以前上载到github项目的静态下载 也可以使用您在浏览器中使用的相同URL检索, 形式如下:

https://github.com/downloads/${user}/${project}/${filename}

重要提示:与存储库下载一样,url必须使用 https要检索的协议。

因为这些文件可以包含静态的软件版本,比如鸡蛋或任何东西 否则您需要(媒体文件、配置数据等),这取决于您如何 在构建中使用它们;一个常见的模式是将它们作为一个部分安装 以类似于以下示例的方式:

[buildout]
parts = mypart

[mypart]
recipe = hexagonit.recipe.download
url = https://github.com/downloads/me/myproject/myfile.tar.gz

学分

感谢伯纳德·多恩、于尔根·卡尔特纳、伯纳德·罗斯尔和其他可爱的 用于lovely.buildouthttp的系统(此项目基于此),以及 Clayton Parker和Tarek Ziade的错误修复和扩展。

对githubbuildout的更改

2013年4月25日0.2:

2012年6月21日0.1:

  • 初始版本(基于可爱的.buildouthttp)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将springboot war部署到debian jetty8   java破坏了函数,即使它看起来是正确的   当MockMvc不可自动编译时,java会有选择地从Spring Security向其应用单个过滤器   java AndroidStudio每秒播放n次生成的声音   JavaJBossSeam:继承的方法被拦截了吗?   ScheduledExecutorService中线程默认名称中池号的java含义   在Java中用递归方法实现类Fibonacci的递归   java虚拟路径/文件夹   java即时与ZoneDateTime。转换到另一时区   用GaussLegendre算法在java中逼近Pi   java RecyclerView findFirstVisibleItemPosition()返回1   java根据当前经过身份验证的用户的角色返回不同的JSON对象   java从内部类访问扩展类的方法   Android程序中的Java语法WRT静态方法   可选参数初始化Java字符串文字时出错