目录
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
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到你项目目录下,你可以
- jar包启动
- 放到tomcat的webapps下用tomcat启动
这里我选择放到tomcat下启动,所以我把war包丢到了刚才装好的tomcat的webapps目录下
启动tomcat 地址为http://host:port/jenkins 接下来就进入了jenkins的图形化安装界面
初始化界面 jenkins会在tomcat控制台打印一个随机密码就是下面需要的密码, 也能在.jenkins路径下的文件里找到
推荐选择jenkins推荐配置
进入等待页面,可能有点久
配置完成后需要填初始化信息
这时候jenkins就装好了
3、配置jenkins环境变量和jenkins的JDK,MAVEN配置
加这个环境变量的原因是因为jenkins一旦触发脚本的时候将会断开主线程,所以会出现tomcat无法启动的情况,加这个就是让jenkins的守护线程不停掉,进而继续执行脚本 ,BUILD_ID有说加dontKillMe 有说加下面这个, 但是我亲测下面这个有效
jenkins url如果没有修改端口的话默认是8080, 这里我修改成了9001 所以这里的配置也改成9001
注意:名称随便取, 但是路径一定要跟服务器上环境变量一致 图片随便找的, 注意改路径
接下来安装构建项目需要的插件
点击主面板的系统管理进入系统管理界面 --> 点击插件管理
4、构建项目
选择maven项目 如果没有这个选项 觉得去装maven插件
因为我用的是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