【问题标题】:Travis CI running on Docker Image - Switch to last comited branchTravis CI 在 Docker Image 上运行 - 切换到最后提交的分支
【发布时间】:2018-01-22 14:33:32
【问题描述】:

我正在开发一个操作系统,我想使用 Travis CI 进行持续集成。 基本上,我的操作系统可以在启动时执行一堆内核测试,我希望它们在每次推送时都运行。

但是,设置环境有点复杂,所以我使用 Docker 映像,我希望我的应用程序在 Docker 映像上运行,就像 Tavis CI 的示例正在做的那样:@ 987654321@

正如您在示例的 Dockefile 中看到的那样:https://github.com/travis-ci/docker-sinatra/blob/master/Dockerfile,repo 被克隆到 Image 中,因此在 Travis CI 的配置文件 (https://github.com/travis-ci/docker-sinatra/blob/master/.travis.yml) 中,他们只需要运行“make”。

这很简单,因为这个项目是一个单分支项目,但我希望将测试运行到最新提交的分支(触发 Travis 构建的分支)。

您认为我可以使用哪种解决方案?在我传递给 Docker 映像的 Travis CI 上使用环境变量,然后检查作为参数传递的分支?没有更多“优雅的选择”了吗?

我认为我的 Docker 文件和 .travis.yml 文件都不是必需的,因为有 WIP。谢谢你。

【问题讨论】:

    标签: git docker branch travis-ci


    【解决方案1】:

    要获取最后提交给的分支,您可以使用这样的 shell 脚本:

    git branch --sort=-committerdate | awk -F " " /*/'{print $2}'
    

    awk 命令只是清理branch 命令的输出,因此只返回分支名称。

    您可以将上述结果与git checkout 一起使用,以切换到make 命令之前的最后更新分支。

    【讨论】:

    • @Turbolay 谢谢。我在上面更新了我的命令,因为我能够让 awk 完成 grep 正在做的工作(因此它有点短)
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 2021-02-16
    • 2021-01-19
    • 2020-10-23
    • 2018-02-10
    • 2020-12-27
    • 1970-01-01
    • 2015-11-14
    相关资源
    最近更新 更多