如果我從我的管道腳本在我的 Jenkins 作業區中創建一個隨機目錄,我在我的 linux 服務器上安裝了 Jenkins:
sh 'mkdir test'
然后我通過 PuTTY 連接到我的服務器并轉到我的 jenkins 作業區位置并檢查那里有什么我可以看到我從我的 jenkins 管道構建中創建的“測驗”目錄:
user@ci:/var/lib/jenkins/workspace$ cd build_test
user@ci:/var/lib/jenkins/workspace/build_test$ ls
test
問題是當我在 Jenkins 中撰寫 shell 命令以在我的服務器中導航并使用“ls”檢查檔案時,我什么也沒看到,例如,如果我運行這些命令:
cd /
ls
運行我的 Jenkins 構建后,我在控制臺上什么也沒有得到,但我在 PuTTY 上運行這個結果:
bin data etc lib lost found mnt proc run srv tmp var
boot dev home lib64 media opt root sbin sys usr
我唯一能看到的目錄是我的 Jenkins 作業區 (/var/lib/jenkins/workspace/build_test) 中的一個目錄,無論是來自 Jenkins 還是 PuTTY,我都可以在其中看到我的“測驗”目錄。
我對 Jenkins 很陌生,那么我應該怎么做才能從 Jenkins 訪問我的服務器的所有目錄?
感謝您的幫助。
uj5u.com熱心網友回復:
我在這里猜測一下。我認為這里的問題不在于 Jenkins 無法查看檔案系統的其余部分。相反,這是 Jenkins 的作業方式,其中每個命令在作業區中單獨運行。
因此,如果您運行此命令,只會cd /將您帶到/ 此命令。一旦你運行ls,它將恢復到你的 Jenkins 作業區并在ls那里運行。
要解決此問題,您可以在同一行中運行兩者cd / && ls或使用dir:
dir('/') {
sh('ls')
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/464142.html
上一篇:字串中的外殼更改日期
