需:

1、安装jdk,参考:

2、安装maven,参考:

3、安装git,参考:

4、安装tomcat,参考:

参考上几篇博文。

盗用一张图:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行

图片来源:https://www.jianshu.com/p/cfa5bb7841d6

jenkins基本安装参照上篇博文:

一、环境配置:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_02

JDK:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_tomcat_03

GIT:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_04

MAVEN:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_05

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_06

二、插件安装

在第一次登陆推荐安装的插件都安装的前提下,还需要安装插件(不然新建Item时可能没有某些选项):

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_07

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_08

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_09

Publish Over SSH插件是远程发布需要的插件。

三、基础配置

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_10

点击进入Configure System,然后一直往下

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_11

名称:自己写一个

API URL:Jenkins自动填入的

凭据:拉取代码的git账号密码

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_12

填入用户密码和密码(拉取gitHub源码的账号和密码)。ID和描述可填可不填,点击添加。

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_13

点击链接测试出现红色框框里内容就成功。在一直往下

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_14

Passphrase               服务器的密码

Path to key                连接远程服务器密钥文件的路径

Key                            密钥文件的内容 

Name                         自定义服务器名

HostName                  服务器IP外网地址

UserName                  服务器用户名

Remote Directory       传输文件的目录

如果用用户名和密码凭证登录的只需要填SSH Sever信息就行。

四、构建项目发布

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_15

jenkins配置每周自动执行 jenkins自动部署到远程服务器_jenkins配置每周自动执行_16

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_17

对应项如果没有配置截图则代表可以使用默认的,最简单的配置。

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_18

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_19

选择刚刚添加的git账号

jenkins配置每周自动执行 jenkins自动部署到远程服务器_tomcat_20

pom.xml是自动填入的,下面是maven的命令:清除-打包-test代码跳过。clean package -Dmaven.test.skip=true

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_21

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_22

Source files     项目构建后的目录

Remove prefix    去前缀

Remote directoty  发布的目录

Exec command     发布完执行的命令,我这边写的是发布完会重启tomcat

deplaoy.sh内容如下:

#! /bin/bash
# tomcat-restart

#tomcat_home是tomcat的安装目录
tomcat_home=/home/tomcat/apache-tomcat-8.5.43
#下面两个是tomcat自己的关闭和开启脚本
SHUTDOWN=$tomcat_home/bin/shutdown.sh
STARTTOMCAT=$tomcat_home/bin/startup.sh

echo "关闭$tomcat_home"
$SHUTDOWN
#杀死tomcat进程
ps -ef |grep tomcat |grep $tomcat_home |grep -v 'grep'|awk '{print $2}' | xargs kill -9

#删除日志文件,如果你不删除可以不要下面一行(我这里是注释掉的)
rm  $tomcat_home/logs/* -rf
#删除tomcat的临时目录
rm  $tomcat_home/work/* -rf

#关闭后休眠3秒钟再启动
sleep 3

echo "启动$tomcat_home"
$STARTTOMCAT

#看tomcat启动日志
#tail -f $tomcat_home/logs/catalina.out

#sleep 3

#echo "关闭启动日志"
#(我这里需要看tomcat启动是否报错,所以不管日志,注释掉)
#ps -ef |grep tomcat |grep $tomcat_home/logs/catalina.out |grep -v 'grep'|awk '{print $2}' | xargs kill -9

#echo "tomcat 重启脚本执行完毕"

重启脚本参考地址:

①、可能在执行脚本的出现这个错误:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined。

需要设置下路径:

用vim打开tomcat的bin目录下的setclasspath.sh,在文件最上面添加JAVA_HOMEJRE_HOME两个环境变量即可。

export JAVA_HOME=/usr/local/java/JDK/jdk1.8.0_181/
export JRE_HOME=/usr/local/java/JDK/jdk1.8.0_181/jre

参考地址:

查找jdk安装路径:echo $JAVA_HOME  或者一个更骚的命令:which is java    还有骚命令:  whereis java, where和is之间是没有空格的

②、执行脚本时还可能出现这个错误:没有权限执行这个新建的重启脚本文件,这时需要登录服务器对文件进行授权:

chmod 777 deploy.sh

保存,然后点击项目

jenkins配置每周自动执行 jenkins自动部署到远程服务器_tomcat_23

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_24

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_25

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_26

代表构建发布成功,访问ip:端口,我擦,发现访问不了。原来是我的是springboot项目,需要点小改动:

SpringBoot打成war包,部署到Tomcat服务器:

按照这篇博客改:

如果项目中用到了HttpServletRequest,本地运行则会报错:

java.lang.ClassNotFoundException: javax.servlet.Servlet

用这个方法:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_java_27

但是呢,打包部署到远程服务器还是要放开注释的。

最后的最后访问:

jenkins配置每周自动执行 jenkins自动部署到远程服务器_服务器_28