我正在使用操作系统,我想使用 Travis CI 进行持续集成。 基本上,我的操作系统可以在启动时执行一系列内核测试,我希望它们能够在每次推送时运行。
但是,设置环境有点复杂,所以我使用 Docker Image ,我希望我的应用程序在Docker Image上运行,就像Tavis CI的例子一样:{ {3}}
正如您在示例的Dockefile中看到的那样:https://docs.travis-ci.com/user/docker/,repo在Image中被克隆,而在Travis CI的配置文件(https://github.com/travis-ci/docker-sinatra/blob/master/Dockerfile)中,他们只需要运行“make”。
这很简单,因为这个项目是一个单独的分支项目,但是我希望测试能够运行到最新的分支(触发Travis构建的分支)。
您认为我可以使用哪种解决方案?在Travis CI上使用环境变量,我将传递给Docker镜像,然后检出作为参数传递的分支?没有更多“优雅的选择”?
我认为我的Docker文件和.travis.yml文件都不是必需的,因为有WIP。谢谢。
答案 0 :(得分:2)
要获取上次提交的分支,可以使用如下的shell脚本:
git branch --sort=-committerdate | awk -F " " /*/'{print $2}'
awk
命令只是清除branch
命令的输出,因此只返回分支名称。
您可以使用上述git checkout
的结果切换到make
命令之前的最后更新分支。