Ich möchte meinen Bereitstellungsprozess automatisieren (TravisCI verwenden), indem ich die erstellten Artefakte auf meinen Server hochlade, der diese Uploads automatisch registriert und sie dorthin verschiebt, wo sie hin müssen.Mehrere Dateien über CURL hochladen
Dafür ich ein Shellscript geschrieben haben, die nach dem Build-Prozess ausgeführt ist gelungen:
find $TRAVIS_BUILD_DIR/dist/*.tar -type f -exec curl --ftp-create-dirs -T {} -u user:pass ftp://my.server.com/uploads/{} \;
Die letzte {}
(im Zielpfad) führt zu Problemen. In TravisCI sind diese Dateien in der Regel auf dem Weg /home/travis/build/owner/repo/dist
, so {}
zum Ziel Zugabe wird diese Verzeichnisse als auch erstellen:
uploads/home/travis/build/owner/repo/dist/myartifact.tar
Wenn ich die {}
entfernen, ich mit einem Bündel von FTP 553
Fehlern enden. Gibt es eine Möglichkeit für mich, find
nur den Dateinamen anstelle des gesamten Pfades zu füllen?
Sie können eine einfache 'for'-Schleife –