私は、新しくインストールされたサーバを起動するスクリプトを実行しようとすると、私の問題が来るJenkinsでant sshexecを使用してスクリプトを実行すると、作業ディレクトリをどのように変更できますか?
のopenSUSE 11にTomcatを使用して、私が正常にサーバーをインストールするsshexecタスクを使用するAntターゲットを持っています。
<sshexec host="${tss.hostname}"
username="${username}"
password="${password}"
trust="true"
Command="/usr/local/bin/foo/bar/tomcat/bin/startup.sh"
failonerror="false"/>
これに伴う問題は、それがCATALINA_HOMEとJAVA_HOMEを見つけると、私は、それが配置されているフォルダからスクリプトを実行する必要があるということです。私は、rootとしてこれを実行する必要があるので、私はこのようタスクを使用 その場所から。パス "foo/bar"は時間の経過とともに変更されるので、永続的に設定する必要はありません。 実行パスを正しいパスに変更したいだけです。
このようなサーバーの起動に失敗したため、ちょっと調べてスクリプトを変更して、直接コマンドの代わりに "CommandResource =" cmd.txt "を使用しました。これを使用してCATALINA_HOME 。私は、サーバーを起動し、問題を回避その道を行く
前CMD.TXTを使用するとき、これが結果です:
[sshexec] Connecting to foo-bar:22
[sshexec] cmd :
[sshexec] cmd : cd /usr/local/bin/foo/bar/tomcat/bin
[sshexec] cmd : pwd
[sshexec] /root
[sshexec] cmd : echo $PATH
[sshexec] /usr/java/jdk1.6.0_27/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
[sshexec] cmd : export CATALINA_HOME=$PATH:/usr/local/bin/tibco/tss/4.5.0/tomcat
[sshexec] cmd : echo $PATH
[sshexec] /usr/java/jdk1.6.0_27/bin:/sbin:/usr/sbin:/usr/local/sbin:/root/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin
これは、CDやexportコマンドでもないが、どんな効果を持っていることを示して
。私は権利を変更する必要があると思うsshのために。私は.ssh/configで変更する必要があるかもしれないことを読んだ。しかし、私は短いアップこの長い質問を合計する、だから... ...方法や場所
を知らない:
は、私が正しいのTomcatからrootとしての私のstartup.shを実行できるようにするために行うには何が必要です/ binフォルダにJenkinsで実行されるantスクリプトがありますか?
'sshhexecに' output = "sshlog.txt" verbose = "true" 'を追加し、_sshlog.txt_の内容を投稿できますか? –
また、私は 'CommandResource'ファイル内のすべての行が別のサブシェルで実行されるという疑いがあります。 –
入力いただきありがとうございます。私はoutput = "sshlog.txt" verbose = "true"をタスクに追加し、再度実行しました。残念ながら、sshlog.txtは空です。 どちらが答えでしょうか... – Stefant