在Centos7搭建jenkins实现自动化部署springboot项目
安装前要把基本的环境装好
1.jdk安装
关于centos上的java
   Jenkins不支持在centos的默认的jdk上工作。所以要删除自己装
查找jdk命令
rpm -qa | grep jdk 或者 rpm -qa | grep gcj
然后强制卸载:yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
安装jdk
新建一个目录 上传官网下载的jdk至目录
解压 tar -zxvf jdk-8u131-linux-x64.tar.gz
然后进入解压后的jdk bin目录输入java测试一下
配置环境变量:vim /etc/profile
用vim编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑):
export JAVA_HOME=/usr/java/jdk1.8.0_131 此为jdk安装目录
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b : {JRE_HOME}/lib: JREHOME/lib:CLASSPATH
export JAVA_PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: JAVAHOME/bin:{JRE_HOME}/bin
export PATH= P A T H : PATH: PATH:{JAVA_PATH}
2.安装git客户端
  yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils- MakeMaker
3.安装maven
下载官网linux maven 解压
再用vim编辑器来编辑profile文件,在文件里添加上环境变量

一.安装jenkins
下载:
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
安装:
sudo yum install jenkins

启动和停止
启动:sudo service jenkins start
停止:sudo service jenkins stop
重启:sudo service jenkins restart

执行
servicejenkins start 时,报错如下:
按照提示执行:systemctl status jenkins.service,提示如下:

发现是找不到jdk,修改文件:
vim /etc/init.d/jenkins
candidates="
/setup/tools/jdk1.8.0_144/bin/java #此处为加入的java路径
/etc/alternatives/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/bin/java
下面查看:
vim /etc/sysconfig/jenkins
do
[ -x “KaTeX parse error: Expected 'EOF', got '&' at position 21: …NS_JAVA_CMD" ] &̲& break JEN…candidate”
done

4、jenkins的默认设置
  Jenkins会随系统启动而启动。详情参照/etc/init.d/jenkins
  Jenkins会创建一个用户叫做jenkins, 如果你修改了user,
则要修修改所属者:/var/log/jenkins,/var/lib/jenkins,/var/cache/jenkins
  如果遇到问题,查看日志/var/log/jenkins/jenkins.log
  配置文件/etc/sysconfig/jenkins
  默认启用8080
5、打开和关闭防火墙
  开启非80端口需要打开防火墙,参考:http://www.cnblogs.com/rslai/p/7954080.html
6、配置端口修改
vi /etc/sysconfig/jenkins
JENKINS_PORT=“8080”
9、yum安装Jenkins默认路径为
  /var/lib/jenkins
二、进入jenkins
1、打开
http://192.168.3.231:8080 这里是ip加端口

2、查看密码,将内容填写到密码处点击继续
cat /var/lib/jenkins/secrets/initialAdminPassword

3、选择默认插件即可

4、设置管理员

在系统管理里

安装maven 插件

找到Maven Integration 然后

第一个选项安装不重启,第二个选项立即下载并在重新启动后安装 ,第三个现在检查
点第一个进行安装

然后在系统管理里点全局工具配置

maven配置有两处
第一处:

第二处:

jdk配置:

git配置:

以下是让jenkins执行shell脚本时拥有root权限
以下过程是CentOS
1.打开此脚本(使用VIM或其他编辑器):
vim /etc/sysconfig/jenkins

2.找到 J E N K I N S U S E R 并 更 改 为 “ r o o t ” : 默 认 : JENKINS_USER并更改为“root”: 默认: JENKINSUSERrootJENKINS_USER=“jenkins”
修改成:$JENKINS_USER=“root”

3.然后更改Jenkins主页,webroot和日志的所有权:
chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

4.重新启动Jenkins并检查用户是否已更改:
service jenkins restart
ps -ef | grep jenkins

现在你应该能够以root用户身份运行Jenkins作业,并且所有的shell命令将被执行root。

新建maven项目
到首页下点

输入项目名称和点构建一个maven项目

然后点下面的:

下面进行项目配置:
一.git仓库地址

二.配置扫描仓库策略:下面配置是两分钟查看仓库有没变化,有拉下来重新构建,没有不会改变

三.配置打包命令,不需要在命令前写mvn

四.写执行脚本:

然后点save

shell脚本
#!/bin/bash
cd /home/release/ #!这个是进入到jar包放入的地址和下面脚本存入的地址
sh stop.sh
sh replace.sh
echo “Execute shell Finish”
BUILD_ID=dontKillMe bash /home/release/startup.sh &

shop.sh
#! /bin/bash
jar_name=test-1.0.0-SNAPSHOT.jar #!这个是jar包名称
PID=$(ps -ef | grep $jar_name | grep -v grep | awk '{ print KaTeX parse error: Expected 'EOF', got '}' at position 3: 2 }̲') if [ -z "PID" ]
then
echo Application is already stopped
else
echo $PID
kill $PID
fi

replace.sh
#!/bin/bash
echo copy
jar_name=test-1.0.0-SNAPSHOT.jar
#!jar包所在位置
jar_address=/home/release
#!备份
backup_address=/home/release/backup
#!编译好的jar包存放地址
file_path=/var/lib/jenkins/workspace/test/target
#!将现有的jar备份后,将新的jar包替换
file="/home/release/test-1.0.0-SNAPSHOT.jar"
if [ -f “$file” ]
then
#如果已经有文件了,做备份
mv j a r a d d r e s s / jar_address/ jaraddress/jar_name b a c k u p a d d r e s s / backup_address/ backupaddress/jar_name.date +%Y%m%d%H%M%S
fi
#拷贝过来
cp f i l e p a t h / file_path/ filepath/jar_name $jar_address

startup.sh
#!包名修改jar_name=后面为自己的maven打包的包名,不加.jar
jar_name=test-1.0.0-SNAPSHOT
#!输出控制台文件名
name=test
jar_address=/home/release
echo “授予当前用户权限”
chmod 777 j a r a d d r e s s / jar_address/ jaraddress/jar_name.jar
echo “执行…”
cd $jar_address
java -jar j a r n a m e . j a r > . / f i l e / jar_name.jar > ./file/ jarname.jar>./file/name.file 2>&1 &
echo “test on jenkins started***”

注:在执行前要在/home/release/目录下建两个文件夹分别是
file 和 backup
file文件夹里存放的是项目的控制台输出文件
backup是备份的jar包位置
这个是针对单个maven下 springboot项目jar包启动的方式

然后点立即构建

这个就构建成功了
查看构建日志:

默认jenkins工作空间地址:
/var/lib/jenkins/workspace/
这个是我花了一天半时间研究jenkins的一点成果,其它项目构建发布脚本自己学习修改
不足之处大家相互讨论下。
参考文档:
https://www.cnblogs.com/rslai/p/8135460.html

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐