2017-03-04 1 views
5

Ich bin neu bei Travis CI und ich möchte einfach verstehen, warum und was hier vor sich geht. Ich habe die Anweisungen für das Setup in ihrer Dokumentation so gut wie möglich befolgt. Was ich habe ist:Warum bearbeitet Travis CI meine Dateien?

  • Meine Rails-Code auf Github
  • Travis CI, die meine Repo so schnell bauen, wie es auf den Github Zweig Master gedrückt wird.
  • Eine Heroku-App, in der Travis CI den Code implementiert, wenn der Build erfolgreich ist.

Was ich kann nicht begreifen, warum ich diese erhalten, wenn der Build abgeschlossen ist:

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") 

Ich mache before_install: - chmod +x script/travis.sh in meinem .travis.yml und ich chmod +x script/travis.sh in meinem Buildprotokoll. Ich habe Git Version 2.7.4

Warum ist meine script/travis.sh bearbeitet? Sollte ich diese Änderungen hinzufügen oder ist etwas falsch in meinem Setup? Im script/travis.sh habe ich einige kleinere Befehle, die vor dem Build ausgeführt werden müssen, um meine Github-Identität einzurichten.

Warum wird dieser Ordner vendor/bundle/ hinzugefügt?

Antwort

4

Sie müßten einen git diff Schritt hinzufügen, um die Art der Veränderung zu sehen, aber Ihre travis Protokolle überprüfen: Wenn Sie

chmod a+x travis.sh 

sehen, dass bedeutet, dass Ihr ursprüngliches travis.sh Skript nicht als ausführbare Datei hinzugefügt wurde.

In Ihrem Repo, tun ein (mit Git 2.9.1+):

git add --chmod=+x script/travis.sh 
git commit -m "Make travis.sh executable" 
git push 

Dann wieder überprüfen, ob travis noch Ihre Datei zeigt, wie nach einem Build geändert.


In Bezug auf vendor/bundle/, ist es nicht „hinzugefügt“, einfach erzeugt und untracked, was bedeutet, dass Ihr Repo nicht modifiziert wird.
Siehe Travis/Cache Bundle

On Ruby und Objective-C-Projekte können Abhängigkeiten über Bündler Installation einen großen Teil der Build-Dauer bilden. Durch das Zwischenspeichern des Bundles zwischen Builds wird die Ausführungszeit eines Builds drastisch reduziert.

Wenn Sie benutzerdefinierte Bundler-Argumente haben und diese die Option --path enthalten, verwendet Travis CI diesen Pfad. Wenn --path fehlt, aber --deployment vorhanden ist, wird vendor/bundle verwendet.

+0

Vielen Dank für Ihre Antwort. Ich mache ein 'before_install: - chmod + x-Skript/travis.sh' in meinem .travis.yml und ich bekomme' chmod + x-Skript/travis.sh' in meinem Build-Log. Ich habe git Version 2.7. – bork

+0

Update: Das behebt das Problem mit der 'travis.sh' wird geändert. Jetzt wird nur der 'vendor/bundle /' hinzugefügt. – bork

+0

Danke. Also muss ich theoretisch nichts dagegen tun, oder? Aber ich denke, es sieht ziemlich hässlich aus mit dieser Ausgabe. Kann ich es irgendwie herausfiltern, oder muss ich einfach akzeptieren, dass es so ist? – bork