在travis中成功构建时自动合并分支到master

Nie*_*bæk 9 git merge github travis-ci

我正在尝试进行设置,我每次使用GitHub时都使用Travis CI(http://www.travis-ci.org)来构建和测试我的程序.我的GitHub设置是拥有一个主服务器和一个slave/test分支,我在合并到master之前提交.但是,截至目前我正在GitHub.com上手动合并,我想自动化,这样当Travis上的构建成功时,我想立即将我的slave/test分支合并到master中.是否有人知道Travis CI如何实现这一目标或Travis实现这一目标的其他方式?

Sla*_*ski 7

您可以准备用于合并分支的脚本.Travis设置了一些有用的环境变量,您可以在脚本中使用它们.

合并脚本可能如下所示:

if [ "$TRAVIS_BRANCH" != "test" ]; then 
    exit 0;
fi

export GIT_COMMITTER_EMAIL=...
export GIT_COMMITTER_NAME=...

git checkout master || exit
git merge "$TRAVIS_COMMIT" || exit
git push ... # here need some authorization and url
Run Code Online (Sandbox Code Playgroud)

接下来你可以投入 .travis.yml

after_success: ./merge_script.sh
Run Code Online (Sandbox Code Playgroud)

更多信息:

  • 根据我的经验,像'git checkout some-branch`这样的命令在Travis-CI中会失败. (3认同)