Reputation: 1483
i'm trying to copy the webapp.war to the tomcat's webapp folder after the maven build on the jenkins has finished.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>copy-webapp-to-tomcat</id>
<phase>install</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target name="Deploying webapp to Tomcat.">
<copy todir="${tomcat.webapps.dir}" force="true">
<fileset dir="${project.build.directory}">
<include name="*.war" />
</fileset>
</copy>
</target>
</configuration>
</execution>
</executions>
</plugin>
i added the jenkins user to the tomcat group
$ id -Gn jenkins
jenkins tomcat
and my webapps folder permissions look like
drwxrwxr-x 10 tomcat tomcat 4,0K Aug 13 17:24 webapps/
after the build is completed, the copying fails with
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (copy-webapp-to-tomcat) on project: An Ant BuildException has occured:
Failed to copy /var/lib/jenkins/workspace/project/target/webapp.war to /opt/tomcat/webapps/webapp.war due to java.io.FileNotFoundException /opt/tomcat/webapps/webapp.war (Permission denied)
[ERROR] around Ant part ...<copy todir="/opt/tomcat/webapps" force="true">... @ 4:50 in /var/lib/jenkins/workspace/project/target/antrun/build-Deploying webapp to Tomcat..xml
when i add the write permissions to the other users for the webapps folder
drwxrwxrwx 10 tomcat tomcat 4,0K Aug 13 17:24 webapps/
the copying succeeds and i get a file
-rw-r--r-- 1 jenkins jenkins 22M Aug 13 17:48 webapp.war
shouldn't it be enough that the jenkins user is a member of the tomcat group and this group has the write permission for the webapps folder?
thx, kopi
Upvotes: 2
Views: 6814
Reputation: 178
Please research for war deployment plugin instead using copy method. It will let you deploy war file on remote servers also in future. I have done war deployment for angular application.
You can refer following link for more details
Upvotes: 2