【问题标题】:Automatic merge branch into master on successful build in travis在 travis 中成功构建时自动将分支合并到 master
【发布时间】:2015-05-01 12:36:04
【问题描述】:

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

【问题讨论】:

    标签: git github merge travis-ci


    【解决方案1】:

    您可以准备用于合并分支的脚本。 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
    

    更多信息:

    【讨论】:

    • 根据我的经验,像 git checkout some-branch 这样的命令在 Travis-CI 中会失败。
    猜你喜欢
    • 2016-08-15
    • 2021-02-10
    • 2021-03-09
    • 1970-01-01
    • 2018-03-08
    • 1970-01-01
    • 2016-04-30
    • 2013-06-12
    • 1970-01-01
    相关资源
    最近更新 更多