运行在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
命令之前的最后更新的分支。