2017-08-15 182 views
2

我有一個Jenkins管道包含源加載,通過SSH在遠程計算機上構建和部署的階段。問題是關於最後一個。我救了以下模板的腳本在遠程服務器上:通過Jenkins管道在遠程ssh服務器上執行部署腳本

#!/bin/bash 
bash /<pathTo>/jboss-cli.sh --command="deploy /<anotherPath>/service.war --force" 

如果連接到遠程服務器的終端執行它工作正常。

我已經通過詹金斯收到的最好的結果是

/<pathTo>/jboss-cli.sh: line 87: usr/bin/java/bin/java: No such file or directory

在詹金斯控制檯輸出

試過bash和SH之間切換時,在管道中的腳本等

任何建議都理解的出口路徑的java。 謝謝!

p.s.從詹金斯執行調用看起來像:

sh """ 
ssh -o StrictHostKeyChecking=no $connectionName 'bash /<pathToTheScript>/<scriptName>.sh' 
""" 

回答

0
line 87: **usr/bin/java/bin/java**: No such file or directory 

按照錯誤行,它正在考慮從USR沒有的/ usr路徑。你能檢查這是否是問題所在?

對不起,我知道這應該在評論部分,但我沒有權利添加評論呢。

+0

所以這個原因是未知的,但我在你的幫助下解決了這個問題。因此,最初,第87行使用了一個變量,例如(也在jboss-cli.sh中)初始化: JAVA =「$ JAVA_HOME/bin/java」 因此,$ JAVA_HOME值與Jenkins不同(爲什麼?服務器上的終端。 所以我在終端中回顯了這個值,並在jboss-cli.sh(/usr/java/jdk1.8.0_121/bin/java)中對其進行了硬編碼,如下所示: JAVA =「/ usr/java/jdk1 .8.0_121/bin/java「 現在在構建正確後重新部署工作。謝謝。仍然感激任何想法的原因:) – Panz0r

相關問題