IDEA + github pull request + teamcity运用

Github Flow

首先要来看github工作流的流程,如上图(图为百度)。

那么,为什么要有pull request呢。最近有个新的需求,不想要让一个新手直接提交合并代码到master分支。那么 pull request的需求就很合适。让新手提交到自己的分支,然后在创建pull request。这时,我们能在github上看到这个提交,能让老手审查评论,若无问题,就可以合并提交到master。

那今天要来整合teamcity与pull request。就是当有人创建了要与master合并的新的pull request时,teamcity就能捕获到该请求,并build。这时通过后,我们可以查看代码的改动,当然之后还是要去github合并。(这里的合并好像有点繁琐,不知道是否在teamcity中直接有合并操作,笔者在此还没有找到,大家若是知道请评论告诉我下~~)。

好了,直接上操作吧。

在IDEA中,先创建个分支,并提交代码(要的是与master分支不同的代码,否则会不能创建pull request)。完成后就可以create。

IDEA + github pull request + teamcity运用_第1张图片

没错,它是在最下面。

IDEA + github pull request + teamcity运用_第2张图片

标题和描述大家根据代码提交来写。重要的是base branch这里要选择本次提交将与那个分支合并。这里会关系到teamcity的配置

IDEA + github pull request + teamcity运用_第3张图片

这里会弹一个警告,说到分支没有完全合并。这里可以“Yes”跳过。

那我们先来到github中查看我们的pull request

IDEA + github pull request + teamcity运用_第4张图片

那么我们去teamcity中配置并查看一番吧。还不知道怎么配置的朋友可以去看下我之前的两篇文章。这里直接上配置,其实也很简单。

IDEA + github pull request + teamcity运用_第5张图片

IDEA + github pull request + teamcity运用_第6张图片

就是这么一句,值得注意的是,在IDEA中create pull request时选择的合并分支,要与这边的Default branch监控的分支一致哦。

这里输入的就是一句

+:refs/pull/*/merge
or
+:refs/pull/*/head

这俩者有什么不同呢,这里引用一下

https://blog.jetbrains.com/teamcity/2013/02/automatically-building-pull-requests-from-github-with-teamcity/ 的说法。

IDEA + github pull request + teamcity运用_第7张图片

好了!那到这边我们就配置好了。当我们在IDEA中create pull request时,在teamcity中会显示:

IDEA + github pull request + teamcity运用_第8张图片

其中的“3”与github中的pull request次数对应,我们点进去可在teamcity中查看代码的变化。

IDEA + github pull request + teamcity运用_第9张图片IDEA + github pull request + teamcity运用_第10张图片

点进去即可查看代码的更变了。

这是笔者最近发现比较有意思的功能,可能还有些地方不太了解。还请大家斧正

你可能感兴趣的:(teamcity)