gitlab_mr_release
这是一个用于在使用git flow开发时从合并的MergeRequest发布MergeRequest的瑰宝
- https://github.com/sue445/gitlab_mr_release
- https://rubygems.org/gems/gitlab_mr_release
GitHub有git-pr-release,但是GitLab没有,所以我做到了
参见下面的git-pr-release
- 推荐git-pr-release --ninjinkun的日记
- Hatena博客团队和GitHub的开发流程(第二部分)。 GitHub Kaigi 2014-公共密钥
如何使用
创建配置文件
首先,使用
创建配置文件
1 2 3 | $ gitlab_mr_release init create .env.gitlab create gitlab_mr_release.md.erb |
创建发布合并请求
之间接受的MergeRequest创建要发布的MergeRequest
1 | $ gitlab_mr_release create --source=develop --target=master |
关于配置文件
.env.gitlab
以下设置可用于
.env.gitlab
1 2 3 4 5 6 7 8 | GITLAB_API_ENDPOINT=http://example.com/api/v3 GITLAB_API_PRIVATE_TOKEN=XXXXXXXXXXXXXXXXXXX GITLAB_PROJECT_NAME=group/name TEMPLATE_FILE=gitlab_mr_release.md.erb DEFAULT_TITLE=Release <%= Time.now %> <%= source_branch %> -> <%= target_branch %> DEFAULT_SOURCE_BRANCH=develop DEFAULT_TARGET_BRANCH=master DEFAULT_LABELS=release |
可以从两个位置读取此配置文件,当前目录(
1 | export GITLAB_API_PRIVATE_TOKEN=XXXXXXXXXXXXXXXXXXX |
也许可以
gitlab_mr_release.md.erb
gitlab_mr_release.md.erb
1 2 3 4 | # MergeRequests <% merge_requests.each do |mr| %> * [ ] !<%= mr.iid %> <%= mr.title %> @<%= mr.author.username %> <% end %> |
这是创建合并请求时的描述模板。由于它是erb,因此可以使用
请参见下面的
参数说明
如果没有参数传递给
优先级如下。 (优先级越高,优先级越高)
-
--source ,DEFAULT_SOURCE_BRANCH (其中之一是必需的)-
释放MR合并源分支(例如
develop )
-
释放MR合并源分支(例如
-
--target ,DEFAULT_TARGET_BRANCH (两个都必须)-
释放MR合并目标分支(例如
master )
-
释放MR合并目标分支(例如
-
--title ,DEFAULT_TITLE - 合并请求标题
-
DEFAULT_TITLE 可以用erb编写。 - 如果两者都不存在,则默认值为"发布:时间戳:源-