Git Travis CI在Docker映像上运行-切换到最后一个comited分支
我正在开发一个操作系统,我想使用Travis CI进行持续集成。 基本上,我的操作系统可以在引导时执行一系列内核测试,我希望每次推送时都能运行这些测试 但是,安装环境有点复杂,因此我使用了一个Docker映像,我希望我的应用程序在Docker映像上运行,就像Tavis CI的示例所做的那样: 正如您在示例的dockfile中所看到的:,repo在映像中是clonned的,而在Travis CI的配置文件()中,它们只需运行“make” 这很容易,因为这个项目是一个单分支项目,但我希望测试能够运行到最新的Comitt分支(触发Travis构建的分支) 您认为我可以使用哪种解决方案?在Travis CI上使用环境变量,我将传递到Docker映像,然后签出作为参数传递的分支?没有更多的“上等选择”Git Travis CI在Docker映像上运行-切换到最后一个comited分支,git,docker,branch,travis-ci,Git,Docker,Branch,Travis Ci,我正在开发一个操作系统,我想使用Travis CI进行持续集成。 基本上,我的操作系统可以在引导时执行一系列内核测试,我希望每次推送时都能运行这些测试 但是,安装环境有点复杂,因此我使用了一个Docker映像,我希望我的应用程序在Docker映像上运行,就像Tavis CI的示例所做的那样: 正如您在示例的dockfile中所看到的:,repo在映像中是clonned的,而在Travis CI的配置文件()中,它们只需运行“make” 这很容易,因为这个项目是一个单分支项目,但我希望测试能够运行
我认为Docker文件和.travis.yml文件都不是必需的,因为有WIP。多谢各位 要获取上次提交到的分支,可以使用如下shell脚本:
git branch --sort=-committerdate | awk -F " " /*/'{print $2}'
awk
命令正在清理分支的输出,因此只返回分支名称
您可以将上述结果与
git checkout
一起使用,切换到make
命令之前最后更新的分支。@Turbolay谢谢。我稍微更新了我的命令,因为我能够让awk
做grep
正在做的工作(因此它稍微短一点)