为什么Travis CI会编辑我的文件?

时间:2017-03-04 07:20:16

标签: ruby-on-rails git heroku travis-ci

我是Travis CI的新手,我只是想了解为什么以及这里发生了什么。我已尽最大努力遵循文档中的设置说明。我得到的是:

  • Github上的我的Rails代码
  • Travis CI,一旦将其推送到github分支主机,就会构建我的仓库。
  • 一个Heroku应用程序,如果构建成功,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/

1 个答案:

答案 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