轻松释放Bulding,结合Jira和Git

Braumeister的Python项目详细描述


[![pypi](https://img.shields.io/pypi/v/braumeister.svg)(https://pypi.python.org/pypi/braumeister/)
[![构建状态](https://travis-ci.org/talentsconnect/braumeister.svg?branch=master)(https://travis ci.org/talentsconnect/braumeister)

``无
,--。,---。-。-。-。,---。,-。--- ---____,---。,---。
.-.\.-.\//\\/.-'(.-..-.\
`-'//(_)(_)`-。|`-'/
--。\| ( | __ || | | |(_)\/ | | .-' | | _ \ \ (_) | | .-' | (
| |`-' /| |\ \ | | |)|| `-')|| \ / | | `--.| |( `-' ) | | | `--.| |\ \
/( `--' |_| \)\|_| (_)`---(_)| |\/| | /( __.'`-' `----' `-' /( __.'|_| \)\
(__) (__) '-' '-'(_)()是git和jira用户的候选发布准备工具。
给定一个修复版本,它会收集jira问题中提到的针对该修复版本的git分支,并将它们合并到一个候选发布分支中。

```

配置
您可以在git存储库的根目录中初始化"braumeister",如下:
``sh
`braumeister init
````

`braumeister`将在当前目录中创建一个".braumeister"配置文件。配置可能如下:

``ini
[常规]
详细=false

[jira]
url=https://jira.dev
用户名=my user
密码=secret
目的地转换=merged
分支自定义字段=custom field
```
用户的密码
jira目的地转换无梅金之后票证的工作流转换名称g,如果使用"-u`
jira branch_u custom_field_u id none jira custom field,我们将在以下位置查找配置文件要将以下文件添加到您的`.gitignore`**
```gitignore
.braumeister
release懔state.json
````

jira configuration
jira configuration
`>;`text field(单行)`>;`next`
``
name:branch
description:git branch
```
在下一个屏幕中,您需要将创建的字段分配给一个或多个屏幕。
`branch\u custom\u field\u id`是`customfield\u[id]`而`id`是'c后面url中的数字ustomfieldid=`.
例如:
```无
https://jira.dev/secure/admin/configurecustomfield!default.jspa?custom field id=57111
```
这里,jira自定义字段id是'5711`,因此'branch自定义字段id'的'braumeister'配置是'custom field'u5711`。

我们将搜索包含git分支的已配置自定义字段(例如branch)。
将按如下方式创建释放分支:
````
release/[已清理的释放名称]\u rc`[最新的rc+1]
```
如果"braumeister"发现了同名分支,我们将增加` rc`part带1(带前导零)。第一个发布分支将具有rc`001`.


对于每个这些分支,将执行以下命令:
``sh
$git checkout$branch
$git pull
$git merge origin/master
$git push origin$branch
$git checkout$release戡branch
$git merge origin/$branch
$git branch-d$branch
```


将所有分支合并到release分支后,该分支将被推送到"origin"。

将当前状态转换为"release\u state.json"文件。输出可能是这样的:
```sh
$braumeister-n"吠狗"候选
[*]使用fixversion请求所有问题:吠狗
[+]请求问题:https://jira.dev/rest/api/2/issue/5711
[+]请求问题:https://jira.dev/rest/api/2/issue/5712
[+]请求问题:https://jira.dev/rest/api/2/issue/5713
[+]rc barking dog的最后一个分支是:release/barking_rc_002
[+]从master创建新分支'release/barking_rc_003',设置为从'origin'跟踪远程分支'master'。

h'feature-2'合并

[]合并feature-1…


写入状态json!

将功能合并到release/barking_-dog_rc_003时发生合并错误

请执行以下步骤:
*解决冲突
*提交更改
*使用选项-r
```

再次调用脚本以解决冲突。冲突解决后,您可以使用"-r"重新运行"braumeister",以恢复我们停止的位置。

``sh
$braumeister-n"barking dog"-r candidate
读取状态json!
继续使用feature-1
[]合并feature-1…
[]合并分支"feature-1"

[]合并aff…
[]合并分支"aff"

删除状态json!

[]全部完成。抢占一个
````















[+]从master设置为从"origin"跟踪远程分支"master"。
切换到新分支"release/barking-dog-rc-001"

[\127867;]合并aff…
[\127867;]分支"aff"合并



[\127867;]全部完成。抓取一个
``

sue:https://jira.dev/rest/api/2/issue/5711
[+]rc barking dog的最后一个分支是:release/barking-dog-rc-001
[+]从master创建新分支'release/barking-dog-rc-002'

branch'release/barking-dog-rc-002'设置为从'origin'跟踪远程分支'master'。
切换到新分支'release/barking-dog-rc-002'

[]合并aff…
[]分支'aff'合并


[]全部完成。抓取一个
```

````u`执行'braumeister`也将在所有相关问题上执行配置的转换。

``sh
$braumeister-n"barking dog"-u candidate
[*]使用fixversion请求所有问题:barking dog
[+]请求问题:https://jira.dev/rest/api/2/issue/31300
[+]请求问题:https://jira.dev/rest/api/2/issue/30209
[+]rc barking dog的最后一个分支是:release/barking_rc_004
[+]从master创建新分支'release/barking_rc_005'

branch'release/barking_rc_005'设置为从'origin'跟踪远程分支'master'。
切换到新分支'release/b阿尔金犬_ rc_005'

[]合并功能-1…
[]合并分支"功能-1"

[]合并aff…
[]合并分支"aff"


删除状态json!
在所有相关的JIRA问题上更新合并状态!
---------------------------
请求所有转换:dev-1
将dev-1上的jira状态更新为所需的暂存
---------------------------
请求所有转换:dev-2
将dev-2上的jira状态更新为所需的暂存

[\127867;]全部完成。抢占一个
````






\\\\\\\\\\\\\\\\\\\发布新版本
```sh
$braumeister-n"吠狗"发布
[*]请求所有问题的修复版本:吠狗
[+]请求发布:https://jira.dev/rest/api/2/res/api/2/issue/5711
[+]创建新的分支发布发布新分支发布新版本:创建新的分支发布发布版本:新的分支发布发布版本:https://jira.dev/jira.dev/dev/rest/rest//狗吠声OM MASTER设置为从"原点"跟踪远程分支"MASTER"。
切换到新分支"RELEASE/BARKING U DOG U GA"

[[127867;]合并AFE…
[[127867;]合并分支"AFE"

[[127867;]全部完成。抓取一个
``



这会更改远程存储库,请小心处理!

``sh
$braumeister-n"吠狗"完成
[+]合并分支"释放/吠狗"到源/主

[[127867;]合并释放/吠狗…
[[127867;]分支"释放/吠狗"合并

[[127867;]全部完成。获取一个"cleanup"操作执行"braumeister"时,它将删除"fixversion"中与票据相关的所有分支。



``` sh
$braumeister-n"吠狗"清理
[+]释放吠狗后清理

[[127867;]删除原点/特征俏皮…
[[127867;]删除原点/特征七…
[[127867;]删除原点/特征十一…

[[127867;]再次使用全部清理。抓住一个
```

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

推荐PyPI第三方库


热门话题
Java swing,将数组列表添加到组件   gwt开发模式运行时的java服务器端测试用例   网格窗格中的java居中按钮和文本(JavaFX)   java heroku Getting at=error code=H13 desc=“连接关闭而无响应”method=GET path=“/api/test”service=28795ms status=503   java在批处理中使用JDBC preparedStatement   按钮文本的java Selenium css选择器   Spring boot未在maven项目中从soap wsdl生成java类。这是我的pom。xml   java如何向POST restful服务发送json数据   servlet线程的java数据库连接?   java ViewPager事件在从用户注销时给我错误   在Java8中检查列表是否同时为空和非空   java相对路径:无法为访问配置文件选择正确的相对路径   用playframework存储二进制密码哈希的java   java第三方JAR创建日志文件   安卓在java中使用常量1的按位移位的优势   Java使用for循环平均从键盘读取的分数集   java我想在同一活动中停止后重新启动相机源   java为什么if-else语句不能按预期工作?输入问题