【发布时间】:2016-01-25 22:10:32
【问题描述】:
我已经将最新的 Jenkins WAR 部署到了这种 Linux 风格的 Tomcat 6 服务器上……
[daveaip-30-888-22-999 ~]$ uname -a
Linux ip-30-888-22-999 4.1.7-99.99.amzn1.x86_64 #1 SMP Mon Sep 14 23:20:33 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
我有一份构建 Gradle 项目的工作。构建成功后,我想将新生成的 WAR 文件复制到 Tomcat 6 目录下。我有这个 shell 脚本作为额外的构建步骤……
cp ./build/libs/myproject.war /usr/share/tomcat6/webapps
Tomcat6 webs 目录有这些权限……
[daveaip-30-888-22-999 ~]$ ls -al /var/lib/tomcat6/webapps
total 77876
drwxrwxr-x 4 tomcat tomcat 4096 Oct 23 19:52 .
但命令失败并出现此错误……
+ cp ./build/libs/myproject.war /usr/share/tomcat6/webapps
cp: cannot create regular file ‘/usr/share/tomcat6/webapps/myproject.war’: Permission denied
我需要做什么才能授予 Jenkins 复制此文件的权限?我不想将目录的权限更改为 777。
编辑:响应给出的答案,我在构建脚本中添加了一个“whoami”...
whoami
cp ./build/libs/myproject.war $CATALINA_HOME/webapps
输出是
+ whoami
tomcat
+ cp ./build/libs/myproject.war /usr/share/tomcat6/webapps
所以我已经在作为目录所有者的用户下运行了。
【问题讨论】:
标签: tomcat jenkins permissions