我有一个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
非常感谢任何帮助
答案 0 :(得分:0)
您是否以拥有该权限的用户身份登录?当您使用ssh时,您提供的用户名和密码必须具有访问系统上文件的权限。
确保该文件是可执行的。 sudo chmod 777
或任何必要的权限。这适用于shell脚本和war文件。这是最有可能的原因。
如果不是这两种情况,请尝试从终端运行脚本,看看是否存在相同的错误。
完成这三件事后,请更新您的发现。
正在执行命令的用户都应该可以访问shell脚本和war。最简单且安全性较低的方法是通过sudo更改权限,然后执行脚本。