• 自动部署java项目,热部署方式


    大部分内容转自:https://www.cnblogs.com/hdwang/p/6081994.html

    怎么创建项目不赘述了,不会的也不用往下看了,热部署不需要重启tomcat

    说下安装插件

    上述默认安装的插

    Maven Integration plugin

    SSH plugin (要用到)

    Deploy to container Plugin

    上述信息提示配置一下maven的安装路径,我们照做即可,顺便配置好jdk路径

    maven构建命令配置

     部署配置

    tomcat用户在conf/tomcat-user.xml里面配置即可,下面给出配置

    复制代码
    <tomcat-users>
    
     <role rolename="manager-gui" />
     <role rolename="manager-status" />
     <role rolename="manager-jmx" />
     <role rolename="manager-script"/>
     <role rolename="admin-gui"/>
     <role rolename="admin-script"/>
    
     <user username="tomcat" password="tomcat" roles="manager-gui,manager-status,manager-jmx,manager-script,admin-gui,admin-script"/>
    
    </tomcat-users>
    复制代码

    保存配置

    5.构建

    点击导航jenkins -> My Views -> 点击study项目-> 立即构建

    如果发现界面卡死,可能是jdk内存溢出,出现如下

    设置一下tomcat的jdk参数即可

    windows在catalina.bat 文件里添加如下参数(添加到文件开头):

    set JAVA_OPTS=-server -XX:PermSize=512M -XX:MaxPermSize=2048M -Xms512M -Xmx2048M -XX:MaxNewSize=512M

    linux在catalina.sh文件里添加如下参数(添加到文件开头):

    JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"

    是否添加成功,可以使用 jps -v 命令查看(windows和linux下均可)

     

     

    重新启动tomcat,重新点击构建即可,在Console Output里可以看到整个构建的过程,出现如下图就表示整个构建部署成功了

    6.附上shell脚步部署方式,更加灵活些(jenkins和服务器必须都是linux机器)----不应该直接删除,应该制作最近1个月稳定版本备份

    思路就是,执行远程脚本关闭tomcat,然后执行本地脚本拷贝文件到远程,再执行远程脚本启动tomcat服务。上述scp命令传输文件不用密码,必须配置一下ssh的密钥对,配置方式如下:

    这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。

    在主机A上执行如下命令来生成配对密钥: ssh-keygen -t rsa

    遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:

    /root/.ssh/id_rsa.pub

    将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys, 到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):

    scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys

    下面就可以用scp、ssh命令不需要密码来获取主机B的文件了 ssh 192.168.100.4 回车就不需要密码了。

    如果机器B添加多个别的机器的公钥,则需要在authorized_keys中追加公钥内容,命令如下:
    cat id_rsa.pub >> /root/.ssh/authorized_keys
  • 相关阅读:
    C#Redis哈希Hashes
    C#Redis集合set
    C#Redis列表List
    C#Redis字符串
    入门redis
    C#/Net代码精简优化技巧
    单点登录在asp.net中的简单实现
    sql注入
    数据库sql优化
    常常忘记但是很重要的sql语句
  • 原文地址:https://www.cnblogs.com/jackferrous/p/9397449.html
Copyright © 2020-2023  润新知