运行在Docker镜像上的Travis CI – 切换到上一个comited分支

我正在开发一个操作系统,我想用Travis CI进行持续集成。 基本上,我的操作系统可以在启动时执行一系列的内核testing,并且我希望在每次启动时都能运行它们。

但是,安装环境有点复杂,所以我使用Docker Image ,我希望我的应用程序在Docker Image上运行,就像Tavis CI的例子一样: https : //docs.travis-ci.com /用户/搬运工/

正如你可以在Dockefile中看到的例子: https : //github.com/travis-ci/docker-sinatra/blob/master/Dockerfile,repo被克制在Image里面,所以Travis CI的configuration文件( https:/ /github.com/travis-ci/docker-sinatra/blob/master/.travis.yml ),他们只需要运行“make”。

这很容易,因为这个项目是一个单独的分支项目,但是我希望testing能够运行到最新的comitted分支(触发Travis构build的分支)。

你认为我可以使用哪种解决scheme? 在Travis CI上使用环境variables,我通过Docker镜像,然后签出作为parameter passing的分支? 有没有更多的“优雅的select”?

我认为我的Docker文件和.travis.yml文件都没有必要,因为有WIP。 谢谢。

要获得上次提交给你的分支,可以使用如下的shell脚本:

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

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

你可以使用上面的结果与git checkout切换到make命令之前的最后更新的分支。