• Jenkins部署web项目到Tomcat(热部署)


    使用这个方式的话需要tomcat中有初始时Manage这个项目,本质上是通过http://ip:port/manager/html这个地址的上传接口进行上传,进行热部署(需要远程tomcat 必须开启 )

    一、需在tomcat中配置用户账号和权限:

      在conf/tomcat-users.xml中添加如下配置

    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <user username="tomcat" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui"/>

    2.maven中配置 tomcat 账号(在后续测试中,未配置,亦可成功构建???)

      在setting.xml 文件中添加

    <server>
       <id>jen-tomcat</id>
       <username>tomcat</username>
       <password>123456</password>
    </server>

    3.需要在项目的pom.xml中配置

    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.1</version>
        <configuration>
            <url>http://192.168.42.129:8090/manager/text</url>
            <update>true</update>
            <server>jen-tomcat</server> 
    <username>tomcat</username>
    <password>123456</password>
    <path>/${finalName}</path>
    </configuration>
    </plugin>

    url:配置本地或者远程的TOMCAT
    path:就是在部署上去以后在http://ip:port/manager/html里面看到部署结果
    server:就是一个名字和你maven的settings.xml对应的id一致
    增加update 配置项,更新发布的文件

    二、接下来就是在jenkins中的配置

      1、配置构建环境:(需要用tomcat7:deploy部署)

        

      2、要遭构建后操作中选择Deploy war/ear to a container(需安装Deploy to container Plugin插件)

       

        进行配置Tomcat

        

    WAR/EAR files:是项目的war包位置,这里都是配置为 target/项目名.war

    Context path:访问项目的路径

    Credentails:这里是Tomcat用户,就是配置在tomcat 的conf/tomcat-users.xml 文件中的

    然后再点击右侧的add 将用户添加进去  ,只需要添加 用户名 和 密码就可以了

    Tomcat URL: 这里写访问Tomcat的路径 http://主机ip:端口号 

     三、保存,然后立即构建

    这样做有很多弊端:(个人观点,可能因为目前见识短而不够充分认识) 
    1. 这样做没法对之前的项目备份 
    2. 这种部署方式会导致tomcat内原项目的很多资源释放不掉,部署多次后会报OutOfMemoryError这个错误. 

    所以,综上考虑可使用另一种部署方式,使用脚本部署,实际上脚本部署是使用jenkins把打包后的war包上传到服务器,上传成功后执行服务器的脚本,该脚本会备份,并强制kill tomcat进程,部署war包后再启动tomcat

     

  • 相关阅读:
    Java基础教程:面向对象编程[3]
    Java拓展教程:文件DES加解密
    JavaScript:学习笔记(4)——This关键字
    jQuery:[2]百度地图开发平台实战
    Android开发——减小APK大小
    玩转ButterKnife注入框架
    Java技术——多态的实现原理
    RxAndroid结合Retrofit,看看谁才是最佳拍档!
    Android开发——AsyncTask的使用以及源码解析
    10本比较鸡肋的技术类书籍,简要回顾
  • 原文地址:https://www.cnblogs.com/maybesuch/p/9105387.html
Copyright © 2020-2023  润新知