Jenkins通过ssh发布运行shell脚本

时间:2017-05-12 05:28:55

标签: ubuntu jenkins ssh

我有一个Jenkins工作,它会将war文件复制到远程系统。我使用发布ssh插件来实现这一目标。一切正常,战争被复制到远程系统。复制war文件后,我需要运行远程系统中的shell脚本。因此,通过ssh发布为此提供了一个Exec命令。

sh /home/ubuntu/build/test.sh

该脚本用于删除webapps中已部署的war目录,然后将war复制到webapps。

但我面临Permission拒绝的问题。以下是我得到的错误

rm: cannot remove ‘/tomcat8/webapps/test/WEB-INF/classes/test.propetiess’: Permission denied
rm: cannot remove ‘/tomcat8/webapps/test/WEB-INF/classes/query.txt’: Permission denied

cp: cannot create regular file ‘/tomcat8/webapps/test.war’: Permission denied

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

  1. 您是否以拥有该权限的用户身份登录?当您使用ssh时,您提供的用户名和密码必须具有访问系统上文件的权限。

  2. 确保该文件是可执行的。 sudo chmod 777或任何必要的权限。这适用于shell脚本和war文件。这是最有可能的原因。

  3. 如果不是这两种情况,请尝试从终端运行脚本,看看是否存在相同的错误。

  4. 完成这三件事后,请更新您的发现。

    正在执行命令的用户都应该可以访问shell脚本和war。最简单且安全性较低的方法是通过sudo更改权限,然后执行脚本。