Jenkins自动化部署项目并重启tomcat

进行本实验前需要搭建完成Jenkins+Maven+SVN+Nexus 搭建持续集成环境

一、Publish Over SSH插件

说明:这个插件可以通过ssh连接其他Linux机器

官方说明:Publish Over SSH

安装步骤:

系统管理→管理插件→可选插件→Artifact Uploaders→Publish Over SSH

 

 系统设置(所有的高级全部展开)

公共配置:

Passphrase:密码(key的密码,如果你设置了)

Path to key:key文件(私钥)的路径

Key:将私钥复制到这个框中

Disable exec:禁止运行命令

私有配置:

SSH Server Name:标识的名字(随便你取什么)

Hostname:需要连接ssh的主机名或ip地址(建议ip)

Username:用户名

Remote Directory:远程目录

Use password authentication, or use a different key:可以替换公共配置(选中展开的就是公共配置的东西,这样做扩展性很好)

私有配置的高级:

Port:端口(默认22)

Timeout (ms):超时时间(毫秒)默认即可

Disable exec:禁止运行命令

Test Configuration:测试连接 

Jenkins自动化部署项目并重启tomcat_第1张图片

项目配置

启用步骤:

构建后操作→Add post-build action→Send build artifacts over SSH

SSH  Server Name:选个一个你在系统设置里配置的配置的名字

Transfer Set Source files:需要上传的文件(注意:相对于工作区的路径。看后面的配置可以填写多个,默认用,分隔)

Remove prefix:移除目录(只能指定Transfer Set Source files中的目录)

Remote directory:远程目录

Exec command:把你要执行的命令写在里面

Jenkins自动化部署项目并重启tomcat_第2张图片

二、tomcat重启脚本

重启脚本要根据项目实际情况进行编写,此处仅供参考:

#!/bin/sh

tomcat_dirname=`cd .. ; pwd`

pid=`ps -ef| grep ${tomcat_dirname}| grep -v "grep"| awk '{print $2}'`

if [ -n "${pid}" ];then
    echo "Will shutdown Tomcat: ${pid}"
    kill -9 ${pid}
    sleep 2
    sh ${tomcat_dirname}/bin/startup.sh

    new_pid=`ps -ef| grep ${tomcat_dirname}| grep -v "grep"| awk '{print $2}'`

    if [ -n "${new_pid}" ];then
        echo "Tomcat has been started.The new pid is ${new_pid}!"
        sleep 2
        #tail -f ${tomcat_dirname}/logs/catalina.out
    else
        echo "Tomcat did not start!" 
    fi
else
    echo "No Tomcat process! Start in 3 seconds"
    sleep 3    
    sh ${tomcat_dirname}/bin/startup.sh
    #tail -f ${tomcat_dirname}/logs/catalina.out
fi

在jenkins中构建成功会有输出内容:

Jenkins自动化部署项目并重启tomcat_第3张图片

你可能感兴趣的:(自动化运维)