Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)
**目标:**jenkins上点构建(也可以自动检查代码变化自动构建)》》》项目部署完成。
这里选择Tomcat运行war包使用比较简单!
1.安装jdk1.8
jdk-8u171-linux-x64.tar.gz
[root@localhost ~]# mkdir /usr/local/java
[root@localhost ~]# cp /home/cmccdata/jdk-8u171-linux-x64.tar.gz /usr/local/java
[root@localhost ~]# cd /usr/local/java
[root@localhost java]# tar -zvxf jdk-8u171-linux-x64.tar.gz
配置环境
[root@localhost jdk1.8.0_171]# vim /etc/profile 在该文件最后添加如下
export JAVA_HOME=/usr/local/java/jdk1.8.0_171
export JRE_HOME=
JAVAHOME/jreexportCLASSPATH=.:
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}/lib:
JREHOME/libexportPATH=
J
R
E
H
O
M
E
/
l
i
b
e
x
p
o
r
t
P
A
T
H
=
{JAVA_HOME}/bin:$PATH
使配置生效
[root@localhost jdk1.8.0_171]# source /etc/profile
查看jdk
[root@localhost jdk1.8.0_171]# java -version
2.安装maven
配置环境变量
vim /etc/profile
export MAVEN_HOME=/usr/local/src/apache-maven-3.5.0
export PATH=
MAVENHOME/bin:
M
A
V
E
N
H
O
M
E
/
b
i
n
:
{PATH}
生效
source /etc/profile
测试
mvn -v
3.安装git
yum -y install git
4.基于 Tomcat 安装
安装并启动 Tomcat;
从官网下载 jenkins.war 至 $CATALINA_BASE/webapps,Tomcat 会自动部署;
5.浏览器访问:http://centos:8080/jenkins/
在服务器上面cat /root/.jenkins/secrets/initialAdminPassword会出现让输入的密码,一串数字字母,多等一会到出现下面界面,喝了口水,三分钟过去了,出现了接下来的界面
![]()
这个就是说推荐安装还是自己选,需要的包后面可以装,我点了第一个,知道用什么插件点第二个也可以这样装的包少一点。安装的插件都在/root/.jenkins/plugins/下面。
![]()
![]()
![]()
开始使用,点击就会进来
![]()
如果没有设置用户进入,admin用户登录还不知道密码是什么,是/root/.jenkins/secrets/initialAdminPassword这个里面的密码,http://这个地方打ip:8080/jenkins/user/admin/configure修改admin密码,也可以点系统管理,在里面找管理用户,点屏幕中上方的admin进去最下面修改密码保存。
6.配置jenkins
jenkins因为配置原因出错千千万,一步一报错,天天有惊喜,下面配置是把坑都填好的。
添加插件
![]()
![]()
选择直接安装也可以,重启后安装也可以,用什么功能搜一下安装没,没安装装上就好,我看了已经安装的,比自己选安装的安装的多很多。。。
很多教程都装Deploy to Container Plugin,这个可以把包从运行的tomcat的项目http地址上直接发到项目服务器的目录下,windows上我试了可以,linux这个东西没用它,都是linux服务器scp过去就好了,windows上面包发过去了不会写脚本,还是shell脚本简单。
7.工具配置
jdk别名叫啥都可以,路径写对,写你jdk环境变量配置的路径,写错了会出现ERROR: Failed to parse POMs java.io.IOException: Cannot run program***错误
![]()
![]()
git的地址要写的是git这个命令的地址不是目录的地址,yum装的自然是/usr/bin/git,之前不是yum装的装的写/usr/local/git报错找不到git命令,在服务器各种试git都没问题,看配置以为jenkins看不见呢,装了好几个版本的jenkins,找了N久才找到应该写/usr/local/git/bin/git
![]()
写完保存就好,接下来系统配置
8.系统配置
这个没有话看一下上面的插件,没安装maven的插件就没有这个配置
![]()
这个配置费劲九牛二虎之力,在N次报错后遍寻错误无解时候,在系统提供的英文文档里面偶然看到其中一个回答,好长好长看到其中一句,试了试竟然成功了,沃德天!
9.构建项目
点击新建,出现下图,名字随便起,选择构建一个maven项目
![]()
![]()
![]()
连接git,我们是自己搭的gitlab(gitlab安装中文版),需要在gitlab上搜索ssh或者key,找到一个ssh keys字样的,把jenkins服务器的公钥放在上面,另外
![]()
![]()
![]()
发现gitlab服务器的私钥也可以,估计是因为gitlab页面上也放了gitlab的公钥,看来配对的公私钥就可以,有兴趣的可以试试。
![]()
![]()
下边这个这里面可以写脚本,我下面写这个相当于脚本里的命令去远程执行另一个脚本
写完好久了,今天jenkins做了一个迁移,完善前面的,把后面的再补上
![]()
![]()
如图,后面的功能都是用脚本写的,jenkins和org互相做了免密登录,在jenkins上可以直接用/usr/bin/ssh root@org的ip “要执行的命令”/bin/bash /dat****/org.sh 在org上执行这个脚本
过程:jenkins调用git把Gitlab上的代码下载到jenkins服务器,maven构建成war包,调用ssh运行shell脚本完成备份,停服务,清webapps,拷war包到tomcat下,起服务,说起来好简单啊。。。
上面的方法与在windows 上部署大概一致
在本地搭建的时候要把构建好的jar包上传至测试服务器,并执行 ./startup.sh 脚本启动
保存上边配置
如下图构建项目
![]()
构建执行的时候还可以查看控制台打印日志
参考: