一尘不染

在Jenkins上构建Maven之后将Webapp部署到Tomcat

tomcat

在jenkins上的maven构建完成之后,我试图将webapp.war复制到tomcat的webapp文件夹中。

<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>

我将詹金斯用户添加到tomcat组

$ id -Gn jenkins
jenkins tomcat

和我的webapps文件夹权限看起来像

drwxrwxr-x 10 tomcat tomcat 4,0K Aug 13 17:24 webapps/

构建完成后,复制失败并显示

[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

当我向其他用户添加webapps文件夹的写权限时

drwxrwxrwx 10 tomcat tomcat 4,0K Aug 13 17:24 webapps/

复制成功,我得到一个文件

-rw-r--r--  1 jenkins jenkins  22M Aug 13 17:48 webapp.war

jenkins用户是tomcat组的成员,并且该组具有webapps文件夹的写许可权,这还不够吗?

thx,kopi


阅读 325

收藏
2020-06-16

共1个答案

一尘不染

请研究战争部署插件,而不要使用复制方法。它将使您将来也可以将war文件部署在远程服务器上。我已经完成了角度应用的战争部署。

  1. 为您的tomcat服务器创建一个 经理脚本 角色用户。
  2. 在Jenkins中安装 Deploy to container 插件
  3. 转到配置Jenkins作业,然后在 构建后* 操作中选择选项 Deploy to container 选项。 *
  4. 使用tomcat用户名和密码输入所有详细信息,然后保存配置。
  5. 完成构建过程后,即可在Jenkins中享受自动战争部署。

您可以参考以下链接以获取更多详细信息

https://www.packtpub.com/mapt/book/application_development/9781783553471/4/ch04lvl1sec33/deploying-
a-war-file-from-jenkins-to-
tomcat

2020-06-16