我是Travis CI的新手,我只是想了解为什么以及这里发生了什么。我已尽最大努力遵循文档中的设置说明。我得到的是:
我无法理解的是为什么我在构建完成后得到这个:
HEAD detached from 2a3b308
Changes not staged for commit:
.......
modified: script/travis.sh
Untracked files:
(use "git add <file>..." to include in what will be committed)
vendor/bundle/
no changes added to commit (use "git add" and/or "git commit -a")
我在.travis.yml中执行before_install: - chmod +x script/travis.sh
,并在构建日志中获得chmod +x script/travis.sh
。我有git版本2.7.4
我的script/travis.sh
为什么要编辑?我应该添加这些更改还是我的设置有问题?在script/travis.sh
我在构建之前有一些小命令要执行,设置我的Github标识等。
为什么要添加此文件夹vendor/bundle/
?
答案 0 :(得分:4)
您需要添加一个git diff步骤来查看更改的性质,但检查您的travis日志:如果您看到
chmod a+x travis.sh
这意味着您的原始travis.sh
脚本未添加为可执行文件。
在您的回购中,执行(使用Git 2.9.1+):
git add --chmod=+x script/travis.sh
git commit -m "Make travis.sh executable"
git push
然后再次检查travis是否仍然在构建后将您的文件显示为已修改。
关于vendor/bundle/
,它不是“添加”,只是生成和未跟踪,这意味着您的仓库未被修改。
见Travis/Cache Bundle
在Ruby和Objective-C项目中,通过Bundler安装依赖项可以构成构建持续时间的很大一部分。在构建之间缓存bundle会大大减少构建运行所需的时间。
如果您有自定义Bundler参数,并且这些参数包含
--path
选项,则Travis CI将使用该路径。如果缺少--path
但--deployment
存在,则会使用vendor/bundle
。