作者:李纯皓_922 | 来源:互联网 | 2023-05-19 21:26
我正在尝试进行设置,我每次使用GitHub时都使用Travis CI(http://www.travis-ci.org)来构建和测试我的程序.我的GitHub设置是拥有一个主服务器和一个slave/test分支,我在合并到master之前提交.但是,截至目前我正在GitHub.com上手动合并,我想自动化,这样当Travis上的构建成功时,我想立即将我的slave/test分支合并到master中.是否有人知道Travis CI如何实现这一目标或Travis实现这一目标的其他方式?
1> Slawomir Jar..:
您可以准备用于合并分支的脚本.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
接下来你可以投入 .travis.yml
after_success: ./merge_script.sh
更多信息:
http://docs.travis-ci.com/user/ci-environment/#Environment-variables
http://docs.travis-ci.com/user/build-lifecycle/
根据我的经验,像'git checkout some-branch`这样的命令在Travis-CI中会失败.