我試着通過詹金斯執行這樣的風景「執行shell」蓋步:「For循環」 bash命令不詹金斯執行建設
[Deploy to production] $ /bin/sh -xe /tmp/hudson8315034696077699718.sh
+ rm -r -f _dpatch
+ mkdir _dpatch
+ mkdir _dpatch/deploy
+ from_revision=HEAD
+ to_revision=2766920
+ git diff --name-only HEAD 2766920
+
+ whoami
jenkins
Finished: SUCCESS
:
rm -r -f _dpatch;
mkdir _dpatch;
mkdir _dpatch/deploy;
from_revision='HEAD';
to_revision='2766920';
git diff --name-only $from_revision $to_revision > "_dpatch/deploy/files.txt";
for file in $(<"_dpatch/deploy/files.txt"); do cp --parents "$file" "_dpatch"; done;
whoami
建立與控制檯輸出成功結束
問題是行「對於文件」被忽略,我不明白爲什麼。 files.txt的
內容不是空的,看起來像這樣:
addons/tiny_mce/plugins/image/plugin.min.org.js
addons/webrtc/adapter-latest.js
templates/standard/style/review.css
更多了,當我通過ssh在同一詹金斯工作區文件夾中的同一個用戶下執行相同的腳本(詹金斯) - 「爲文件「行正常執行,並創建文件在」_dpatch「子文件夾中,因爲它應該。
我的環境: Debian的8, 詹金斯2.45
感謝
用」貓「替換」<「修復了我的問題。謝謝你的修正和很好的解釋,Alex。 – Vito