如果更改了不重要的文件,请跳过travis构建

lan*_*dau 8 travis-ci

我使用与Travis的持续集成来在每次提交时运行我的单元测试.但是,有时我想要做的就是编辑自述文件.如果所有更改都限制在白名单文件集中,是否有办法跳过Travis构建?

sou*_*ake 9

没有办法直接让Travis根据已更改的文件类型动态确定是否应该运行构建.

然而,特拉维斯会忽略任何犯[ci-skip][skip-ci]提交消息中.

也许你可以使用git钩子(比方说prepare-commit-msg或类似的)[ci-skip]在只.md修改文件时附加到提交消息.

在git hook中,您可以使用类似命令检测此场景git diff --exit-code --name-only -- . ':(exclude)*.md'.

在行动:

$ git diff --name-only
README.md
$ git diff --exit-code --name-only -- . ':(exclude)*.md'
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)

如果任何非*.md文件已更改,则命令将返回1,否则返回0.