目录

1、安装JDK,MAVEN,TOMCAT等工具

2、安装Jenkins

3、配置jenkins环境变量和jenkins的JDK,MAVEN配置

4、构建项目

5、编写构建完成后的脚本


 

1、安装JDK,MAVEN,TOMCAT等工具

前往JDK下载地址下载对应版本的JDK,解压到/usr/local目录

wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/local/

编辑环境变量并source

vim /etc/profile


JAVA_HOME=/usr/local/jdk1.8.0_191
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/dt.jar
export JAVA_HOME JRE_HOME PATH CLASSPATH


source /etc/profile

 

前往TOMCAT下载地址下载对应版本的TOMCAT,解压到/usr/local目录

wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.92/src/apache-tomcat-7.0.92-src.tar.gz

tar -zxvf apache-tomcat-7.0.92-src.tar.gz -C /usr/local

修改tomcat解压目录下conf/tomcat-users.xml文件,在tomcat-user标签中插入下面3行代码,后面构建项目要用到

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>

 

前往MAVEN下载地址下载3.5.4的MAVEN,解压到/usr/local目录

wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

MAVEN_HOME=/usr/local/apache-maven-3.5.4
PATH=$PATH:$MAVEN_HOME/bin
export PATH

 

 

 

2、安装Jenkins

jenkins下载地址

wget https://pkg.jenkins.io/redhat-stable/jenkins-2.138.3-1.1.noarch.rpm

rpm -ih jenkins-2.138.3-1.1.noarch.rpm

find / -name "jenkins" -print
/var/log/jenkins
/var/cache/jenkins
/var/lib/jenkins
/etc/logrotate.d/jenkins
/etc/rc.d/init.d/jenkins
/etc/sysconfig/jenkins
/usr/lib/jenkins

安装完后用find命令查询jenkins装在哪个目录, 可以看到/usr/lib目录下就是jenkins安装目录,找到该目录下的jenkins.war包

找到后copy到你项目目录下,你可以

  1. jar包启动
  2. 放到tomcat的webapps下用tomcat启动

这里我选择放到tomcat下启动,所以我把war包丢到了刚才装好的tomcat的webapps目录下

启动tomcat 地址为http://host:port/jenkins 接下来就进入了jenkins的图形化安装界面

 

初始化界面 jenkins会在tomcat控制台打印一个随机密码就是下面需要的密码, 也能在.jenkins路径下的文件里找到

linux部署jenkins服务 linux搭建jenkins_linux

 

推荐选择jenkins推荐配置

linux部署jenkins服务 linux搭建jenkins_linux_02

 

进入等待页面,可能有点久

linux部署jenkins服务 linux搭建jenkins_linux部署jenkins服务_03

 

配置完成后需要填初始化信息

linux部署jenkins服务 linux搭建jenkins_linux部署jenkins服务_04

 

这时候jenkins就装好了

linux部署jenkins服务 linux搭建jenkins_linux_05

 

3、配置jenkins环境变量和jenkins的JDK,MAVEN配置

加这个环境变量的原因是因为jenkins一旦触发脚本的时候将会断开主线程,所以会出现tomcat无法启动的情况,加这个就是让jenkins的守护线程不停掉,进而继续执行脚本 ,BUILD_ID有说加dontKillMe 有说加下面这个, 但是我亲测下面这个有效

jenkins url如果没有修改端口的话默认是8080, 这里我修改成了9001 所以这里的配置也改成9001

 

注意:名称随便取, 但是路径一定要跟服务器上环境变量一致  图片随便找的, 注意改路径

linux部署jenkins服务 linux搭建jenkins_linux_06

linux部署jenkins服务 linux搭建jenkins_linux部署jenkins服务_07

 

接下来安装构建项目需要的插件

点击主面板的系统管理进入系统管理界面 --> 点击插件管理

linux部署jenkins服务 linux搭建jenkins_linux_08

linux部署jenkins服务 linux搭建jenkins_linux部署jenkins服务_09

linux部署jenkins服务 linux搭建jenkins_linux_10

linux部署jenkins服务 linux搭建jenkins_apache_11

linux部署jenkins服务 linux搭建jenkins_linux部署jenkins服务_12

 

 

4、构建项目

选择maven项目 如果没有这个选项 觉得去装maven插件

linux部署jenkins服务 linux搭建jenkins_linux部署jenkins服务_13

 

因为我用的是SVN 所以这里选subversion, 填好SVN地址和用户名密码 其他选项都是默认

 

5、编写构建完成后的脚本

前面构建项目的时候我把post steps放到这里来讲是因为这个比较开放, 

#!/bin/bash
echo "copying backup package";
cp -a /mydata/online/online_tomcat/apache-tomcat-7.0.88-Sprintboot/webapps/sell-0.0.1-SNAPSHOT.jar /mydata/online/online_tomcat/apache-tomcat-7.0.88-Sprintboot/backup/sell-0.0.1-SNAPSHOT.jar
echo "removing older";
rm -f /mydata/online/online_tomcat/apache-tomcat-7.0.88-Sprintboot/webapps/sell-0.0.1-SNAPSHOT.jar
cp ./target/sell-0.0.1-SNAPSHOT.jar /mydata/online/online_tomcat/apache-tomcat-7.0.88-Sprintboot/webapps/
echo "restart tomcat";


#export BUILD_ID=dontKillMe #必须加  
TOMCATTHREAD=`ps aux | grep 'apache-tomcat-7.0.88-Sprintboot' | grep -v grep`
if test -z "$TOMCATTHREAD"  
then  
   echo "tomcat not start"  
else  
	echo "shutdown tomcat"
    /mydata/online/online_tomcat/apache-tomcat-7.0.88-Sprintboot/bin/shutdown.sh
    sleep 5
fi
echo "starting tomcat";
/mydata/online/online_tomcat/apache-tomcat-7.0.88-Sprintboot/bin/startup.sh 
echo "excute successfully";

上面的脚本的意思是

1 备份旧war/jar包

2 复制jenkins生成的war/jar包到项目

3 查询tomcat进程

4 重启tomcat

 

这里写法很多种, 目的只有一个, 就是进行备份然后把新的包从jenkins路径copy到项目路径进行发包, 然后重启tomcat