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'
"""
所以這個原因是未知的,但我在你的幫助下解決了這個問題。因此,最初,第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