在Centos7搭建jenkins实现自动化部署springboot项目
在Centos7搭建jenkins实现自动化部署springboot项目安装前要把基本的环境装好1.jdk安装关于centos上的java Jenkins不支持在centos的默认的jdk上工作。所以要删除自己装查找jdk命令rpm -qa | grep jdk或者rpm -qa | grep gcj然后强制卸载:yum -y removejava-1.4....
在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”: 默认:
JENKINSUSER并更改为“root”:默认:JENKINS_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
更多推荐
所有评论(0)