我有一个ant目标,在其中我成功地使用了sshexec-task在OpenSuse 11上使用tomcat安装了一个服务器。
当我尝试运行一个脚本来启动新安装的服务器时,我的问题就出现了。我需要以root用户身份执行此操作,因此我使用的任务如下:
<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。路径"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/bin文件夹中以根用户身份使用Jenkins中运行的startup.sh脚本运行我的ant?
https://stackoverflow.com/questions/9799897
复制相似问题