Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Travis CI在Docker映像上运行-切换到最后一个comited分支_Git_Docker_Branch_Travis Ci - Fatal编程技术网

Git Travis CI在Docker映像上运行-切换到最后一个comited分支

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” 这很容易,因为这个项目是一个单分支项目,但我希望测试能够运行

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

但是,安装环境有点复杂,因此我使用了一个Docker映像,我希望我的应用程序在Docker映像上运行,就像Tavis CI的示例所做的那样:

正如您在示例的dockfile中所看到的:,repo在映像中是clonned的,而在Travis CI的配置文件()中,它们只需运行“make”

这很容易,因为这个项目是一个单分支项目,但我希望测试能够运行到最新的Comitt分支(触发Travis构建的分支)

您认为我可以使用哪种解决方案?在Travis CI上使用环境变量,我将传递到Docker映像,然后签出作为参数传递的分支?没有更多的“上等选择”


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

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

git branch --sort=-committerdate | awk -F " " /*/'{print $2}'
awk
命令正在清理分支的输出,因此只返回分支名称


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

@Turbolay谢谢。我稍微更新了我的命令,因为我能够让
awk
grep
正在做的工作(因此它稍微短一点)