githubrelease是一个cli,用于轻松管理github版本、资产和引用
githubrelease的Python项目详细描述
#githubrelease
[![构建状态](https://img.shields.io/travis/j0057/github-release.svg?maxage=2592000)"(https://travis ci.org/j0057/github release)
从桌面上传到github。
>;
>;将文件从github下载到桌面,然后将其scp到服务器也很糟糕。
>;
>;这东西在ssh会话中运行得很好。
>;
>;--<;cite>;@j0057,2014年8月13日星期三<;/cite>;
hubrelease release jcfr/sandbox publish 1.0.0
或者甚至从python中:
`` python
从github发布导入ghu发布创建你可能应该研究像[github3py](http://github3py.readthedocs.io/en/latest/)或
[pygithub](https://github.com/pygithub/pygithub)*
*[安装](安装)
*[配置](配置)
*[使用cli](使用cli)
*[释放命令](释放命令)
*[资产命令](资产命令)
*[参考命令](参考命令)
*[使用模块](使用模块)
*[测试ng](测试)
*[维护人员:如何发布?](维护者-如何制作-发布-
*[许可证](许可证)
<;!--
*由[gh md toc]创建(https://github.com/ekalin/github markdown toc)*
-->;
\features
*创建发行版、预发行版或草稿发行版
*更新任何发行版元数据,包括引用的提交
*支持通配符表达式(或通配符表达式列表):
*用于上传或下载资产
*用于选择性删除资产
*报告下载和上传进度
*允许从版本中删除单个资产
*如果服务器出现故障,请重试上传
*使用无效资产(具有*new*stat的e)
*通过"github_token"环境变量或`~/.netrc`文件进行身份验证
*纯python,仅取决于[请求](http://docs.python-requests.org/en/master/)和[单击](http://pocco click.readthedocs.io)
d来自[pypi](https://pypi.python.org/pypi/github release)使用:
``bash
pip install githubrelease
````
bleeding-edge版本可以使用:
``bash
`pip intall githubrelease-f https://github.com/j0057/github release/releases/tag/latest
```
#首先配置
,[生成新令牌](https://help.github.com/articles/creating an access token for command line use)。它至少应该具有"repo"作用域。
然后,有三个选项:
*设置"github令牌"环境变量:
``bash
export github令牌=您的令牌
/path/to/command
````
*传递`--github令牌``cli参数。例如:
``` bash
$github release--github token--预发行版1.0
```
*将密钥放入`~/.netrc`,该模式应为0600(`-rw--`):
``````
machine api.github.com
登录您的令牌
password x-oauth-basic
machine uploads.github.com
登录您的令牌
password x-oauth-basic
```
应该用生成的令牌替换``您的`令牌`。
使用cli
包安装一个名为``githubrelease``的cli。
`` bash
$githubrelease
用法:githubrelease[options]command[args]…
资源和引用。
选项:
--github令牌文本[默认值:github_token env。变量]
--进度/--无进度显示进度条(默认:是)。
--帮助显示此消息并退出。
命令:
资产管理发布资产(上载、下载…)。
引用管理引用(列表、创建、删除…)。
rel轻松管理发布(列表、创建、删除…)。
运行"github release command--help"获取有关命令的详细信息。
````
*对于向后兼容,它还安装"github release"和"github asset`*
``release``命令
此命令处理租约。一般用法是:
``bash
githubrelease release username/reponame command[tag][options]
```
>它理解以下命令:
——
list list all releases
info tagname list one release
create tagname[选项]创建一个release
编辑标记名[选项]|编辑发布
删除标记名删除发布
发布标记名[--prerelease]公开发布
取消发布标记名[--prerelease]制作发布草稿
发布说明标记名me使用$editor编辑发行说明
**可选参数:**
*创建:
`` bash
--名称
--正文
--发布
--预发行
--目标委员会
[资产委员会模式]…
`````
*编辑:
``bash
--tag name tag_name
--target_commitish
--name
--body
--draft/--publish
--prerelease/--release
--dry run
--verbose
````
一般用法是:
``bash
githubrelease asset username/reponame command[tag][filename][options]
````
---|——————————————————————————————————————————————————————————————————————————————————————|将文件上载到发行版
下载将所有发行版中的所有文件下载到当前目录
下载标记名将所有文件从发行版下载到当前目录
下载标记名me filename将文件下载到当前目录
删除标记名filename[选项]从版本中删除文件
**可选参数:**
*删除:
`` bash
--保持模式r/>```
**备注:**
指定文件名时,她支持通配符,但请确保使用单引号引用,即不要让shell扩展通配符模式。
*/home/me/pkg中的文件
$githubrelease asset octocat/example project upload 1.4'/home/me/pkg/example-project-1.4*'
elease asset octocat/example project download 1.4
一般用法是:
``bash
githubrelease ref username/reponame command[options]
````
它理解以下命令:
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————n[--tags][--keep pattern keep_pattern]使用模块
函数名都遵循这种模式:
```
gh`<;command>;
```
每个函数接受的参数也反映了命令行
接口。通常的签名是:
``python
gh<;command>name=none,publish=false,prerelease=false,target\commitish=none):
````
每个参数或选项的类型通常可以从其名称推断出来。如果没有,请考虑查看[github_release.py](https://github.com/j0057/github release/blob/update readme/github_release.py)。
``````
repo-name->;str
tag-name->;str
name->;str
publish->;bool
prerelease->;bool
目标承诺-str
```
OM fork已提交。实际上,重置和更新[github release bot/github-release-test-py2](https://github.com/github release bot/github-release-test-py2)和[github release bot/github-release-test-py3](https://github.com/github-release-bot/github-release-tes)需要设置"github-token"t-py3)。
ourname/github release test``
*execute``python setup.py test`
要执行特定的测试,还可以执行以下操作:
``bash
export github令牌=您的令牌TE::TESt嫒create嫒release嫒br/>````
向前发展,计划利用像[betamax]这样的工具(http://betamax.readthedocs.io)
,允许拦截发出的每一个请求,并试图找到已被拦截和记录的匹配请求。如何发布?
1.按[此处]所述配置`~/.pypirc'(https://packaging.python.org/distributing/将项目上载到pypi)。
2.确保cli和模块按预期工作。
3.选择下一版本号:
``bash
release="x.y.z"
````
>4。查看[changes.md](https://github.com/j0057/github release/blob/master/readme.md),将*next release*替换为*x.y.z*,提交并推送。考虑在提交消息中使用"[ci skip]:
``bash
sed-i-e"s/next release/${release}/"更改。md
sed-i-e"s/====/=/=/"更改。md
git add changes.md
git commit-m"changes.md:将"${release}"替换为"${release}"
[ci ski"p]
"
```
检查提交,然后推送:
```bash
git push origin master
```
>5。标记释放。需要一个带有签名的gpg密钥:
``bash
git tag-s-m"githubrelease${release}"${release}origin/master
````
``bash
git push origin${release}
```
>6。创建源tarball和二进制轮:
``` bash
rm-rf dist/
python setup.py sdist bdist_wheel
```
7。将包上载到测试pypi实例:
```bash
tween upload--sign-r pypitest dist/*
```
8。查看[pypi测试包页面](https://testpypi.python.org/pypi/githubrelease/)。
9。将包上载到pypi实例::
``bash
tween upload--sign dist/*
```
>10。查看[pypi包页面](https://pypi.python.org/pypi/githubrelease/)。
11。创建一个虚拟环境,并确保可以安装包:
`` bash
mkvirtualenv test githubrelease install
pip install githubrelease
```
12。创建github release并上载包:
``` bash
export github\u token=your\token
githubrelease release j0057/github release create${release}--name${release}--publish./dist/*
```
13。通过复制changes.md
``bash
export editor=vim
github release release j0057/github release release notes${release}
```
>14更新发行说明。清理
`` bash
停用
rmvirtualenv test githubrelease install
````
```` bash
sed-i'1i下一版本\n======\n'更改。md
git add changes.md
git commit-m"begin${release}development
*changes.md:add \"next release\"部分
[ci skip]
"
git push origin master
````
\faq
*为什么我会得到一个``requests.exceptions.httperror:401客户端错误:未经授权的url https://api.github.com/repos/..```?
这可能意味着您指定的github令牌无效。
0:
http://www.apache.org/licenses/license-2.0
2017-02-12版本0393859中添加了许可文件,但您可以
认为许可也适用于所有以前的版本。
[![构建状态](https://img.shields.io/travis/j0057/github-release.svg?maxage=2592000)"(https://travis ci.org/j0057/github release)
从桌面上传到github。
>;
>;将文件从github下载到桌面,然后将其scp到服务器也很糟糕。
>;
>;这东西在ssh会话中运行得很好。
>;
>;--<;cite>;@j0057,2014年8月13日星期三<;/cite>;
hubrelease release jcfr/sandbox publish 1.0.0
或者甚至从python中:
`` python
从github发布导入ghu发布创建你可能应该研究像[github3py](http://github3py.readthedocs.io/en/latest/)或
[pygithub](https://github.com/pygithub/pygithub)*
*[安装](安装)
*[配置](配置)
*[使用cli](使用cli)
*[释放命令](释放命令)
*[资产命令](资产命令)
*[参考命令](参考命令)
*[使用模块](使用模块)
*[测试ng](测试)
*[维护人员:如何发布?](维护者-如何制作-发布-
*[许可证](许可证)
<;!--
*由[gh md toc]创建(https://github.com/ekalin/github markdown toc)*
-->;
\features
*创建发行版、预发行版或草稿发行版
*更新任何发行版元数据,包括引用的提交
*支持通配符表达式(或通配符表达式列表):
*用于上传或下载资产
*用于选择性删除资产
*报告下载和上传进度
*允许从版本中删除单个资产
*如果服务器出现故障,请重试上传
*使用无效资产(具有*new*stat的e)
*通过"github_token"环境变量或`~/.netrc`文件进行身份验证
*纯python,仅取决于[请求](http://docs.python-requests.org/en/master/)和[单击](http://pocco click.readthedocs.io)
d来自[pypi](https://pypi.python.org/pypi/github release)使用:
``bash
pip install githubrelease
````
bleeding-edge版本可以使用:
``bash
`pip intall githubrelease-f https://github.com/j0057/github release/releases/tag/latest
```
#首先配置
,[生成新令牌](https://help.github.com/articles/creating an access token for command line use)。它至少应该具有"repo"作用域。
然后,有三个选项:
*设置"github令牌"环境变量:
``bash
export github令牌=您的令牌
/path/to/command
````
*传递`--github令牌``cli参数。例如:
``` bash
$github release--github token--预发行版1.0
```
*将密钥放入`~/.netrc`,该模式应为0600(`-rw--`):
``````
machine api.github.com
登录您的令牌
password x-oauth-basic
machine uploads.github.com
登录您的令牌
password x-oauth-basic
```
应该用生成的令牌替换``您的`令牌`。
使用cli
包安装一个名为``githubrelease``的cli。
`` bash
$githubrelease
用法:githubrelease[options]command[args]…
资源和引用。
选项:
--github令牌文本[默认值:github_token env。变量]
--进度/--无进度显示进度条(默认:是)。
--帮助显示此消息并退出。
命令:
资产管理发布资产(上载、下载…)。
引用管理引用(列表、创建、删除…)。
rel轻松管理发布(列表、创建、删除…)。
运行"github release command--help"获取有关命令的详细信息。
````
*对于向后兼容,它还安装"github release"和"github asset`*
``release``命令
此命令处理租约。一般用法是:
``bash
githubrelease release username/reponame command[tag][options]
```
>它理解以下命令:
——
list list all releases
info tagname list one release
create tagname[选项]创建一个release
编辑标记名[选项]|编辑发布
删除标记名删除发布
发布标记名[--prerelease]公开发布
取消发布标记名[--prerelease]制作发布草稿
发布说明标记名me使用$editor编辑发行说明
**可选参数:**
*创建:
`` bash
--名称
--正文
--发布
--预发行
--目标委员会
[资产委员会模式]…
`````
*编辑:
``bash
--tag name tag_name
--target_commitish
--name
--body
--draft/--publish
--prerelease/--release
--dry run
--verbose
````
一般用法是:
``bash
githubrelease asset username/reponame command[tag][filename][options]
````
---|——————————————————————————————————————————————————————————————————————————————————————|将文件上载到发行版
下载将所有发行版中的所有文件下载到当前目录
下载标记名将所有文件从发行版下载到当前目录
下载标记名me filename将文件下载到当前目录
删除标记名filename[选项]从版本中删除文件
**可选参数:**
*删除:
`` bash
--保持模式r/>```
**备注:**
指定文件名时,她支持通配符,但请确保使用单引号引用,即不要让shell扩展通配符模式。
*/home/me/pkg中的文件
$githubrelease asset octocat/example project upload 1.4'/home/me/pkg/example-project-1.4*'
elease asset octocat/example project download 1.4
一般用法是:
``bash
githubrelease ref username/reponame command[options]
````
它理解以下命令:
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————n[--tags][--keep pattern keep_pattern]使用模块
```
gh`<;command>;
```
每个函数接受的参数也反映了命令行
接口。通常的签名是:
``python
gh<;command>name=none,publish=false,prerelease=false,target\commitish=none):
````
每个参数或选项的类型通常可以从其名称推断出来。如果没有,请考虑查看[github_release.py](https://github.com/j0057/github release/blob/update readme/github_release.py)。
``````
repo-name->;str
tag-name->;str
name->;str
publish->;bool
prerelease->;bool
目标承诺-str
```
OM fork已提交。实际上,重置和更新[github release bot/github-release-test-py2](https://github.com/github release bot/github-release-test-py2)和[github release bot/github-release-test-py3](https://github.com/github-release-bot/github-release-tes)需要设置"github-token"t-py3)。
ourname/github release test``
*execute``python setup.py test`
要执行特定的测试,还可以执行以下操作:
``bash
export github令牌=您的令牌TE::TESt嫒create嫒release嫒br/>````
向前发展,计划利用像[betamax]这样的工具(http://betamax.readthedocs.io)
,允许拦截发出的每一个请求,并试图找到已被拦截和记录的匹配请求。如何发布?
1.按[此处]所述配置`~/.pypirc'(https://packaging.python.org/distributing/将项目上载到pypi)。
2.确保cli和模块按预期工作。
3.选择下一版本号:
``bash
release="x.y.z"
````
>4。查看[changes.md](https://github.com/j0057/github release/blob/master/readme.md),将*next release*替换为*x.y.z*,提交并推送。考虑在提交消息中使用"[ci skip]:
``bash
sed-i-e"s/next release/${release}/"更改。md
sed-i-e"s/====/=/=/"更改。md
git add changes.md
git commit-m"changes.md:将"${release}"替换为"${release}"
[ci ski"p]
"
```
检查提交,然后推送:
```bash
git push origin master
```
>5。标记释放。需要一个带有签名的gpg密钥:
``bash
git tag-s-m"githubrelease${release}"${release}origin/master
````
git push origin${release}
```
>6。创建源tarball和二进制轮:
``` bash
rm-rf dist/
python setup.py sdist bdist_wheel
```
7。将包上载到测试pypi实例:
```bash
tween upload--sign-r pypitest dist/*
```
8。查看[pypi测试包页面](https://testpypi.python.org/pypi/githubrelease/)。
9。将包上载到pypi实例::
``bash
tween upload--sign dist/*
```
>10。查看[pypi包页面](https://pypi.python.org/pypi/githubrelease/)。
11。创建一个虚拟环境,并确保可以安装包:
`` bash
mkvirtualenv test githubrelease install
pip install githubrelease
```
12。创建github release并上载包:
``` bash
export github\u token=your\token
githubrelease release j0057/github release create${release}--name${release}--publish./dist/*
```
13。通过复制changes.md
``bash
export editor=vim
github release release j0057/github release release notes${release}
```
>14更新发行说明。清理
`` bash
停用
rmvirtualenv test githubrelease install
````
```` bash
sed-i'1i下一版本\n======\n'更改。md
git add changes.md
git commit-m"begin${release}development
*changes.md:add \"next release\"部分
[ci skip]
"
git push origin master
````
\faq
*为什么我会得到一个``requests.exceptions.httperror:401客户端错误:未经授权的url https://api.github.com/repos/..```?
这可能意味着您指定的github令牌无效。
0:
http://www.apache.org/licenses/license-2.0
2017-02-12版本0393859中添加了许可文件,但您可以
认为许可也适用于所有以前的版本。