首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Jenkins中使用ant sshexec运行脚本时,如何更改工作目录?

在Jenkins中使用ant sshexec运行脚本时,如何更改工作目录?
EN

Stack Overflow用户
提问于 2012-03-21 14:53:46
回答 2查看 6.9K关注 0票数 2

我有一个ant目标,在其中我成功地使用了sshexec-task在OpenSuse 11上使用tomcat安装了一个服务器。

当我尝试运行一个脚本来启动新安装的服务器时,我的问题就出现了。我需要以root用户身份执行此操作,因此我使用的任务如下:

代码语言:javascript
运行
复制
<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时的结果:

代码语言:javascript
运行
复制
  [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?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9799897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档