Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)
这一套流程写的非常不错很详细的网站 https://segmentfault.com/a/1190000002895521
一.安装jenkins
jenkins: 官方网站
选个2.2版本下载 点击下载
1.下载jdk
#上传解压jdk
[root@localhost ~]# cd /usr/local/java/ [root@localhost java]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring jdk-8u161-linux-x64.tar.gz... 100% 185308 KB 14254 KB/sec 00:00:13 0 Errors
2.配置java环境变量
[root@localhost ~]# vim /etc/profile
JAVA_HOME=/usr/local/java/jdk1.8.0_161 #java目录是我创建的,把jdk包解压到里面,这个写解压位置的绝对路径 CLASSPATH=$JAVA_HOME/lib/ PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_HOME CLASSPATH
[root@localhost ~]# . /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
# 使用javac java java -version等 命令验证 ,出现提示 表示成功
3.安装tomcat
下载地址 这里使用8.50版本的tomcat
# 上传解压tomcat
[root@localhost java]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring apache-tomcat-8.0.50.tar.gz... 100% 9196 KB 9196 KB/sec 00:00:01 0 Errors [root@localhost java]# tar zxvf apache-tomcat-8.0.50.tar.gz
这个什么版本都可以,别太旧了,旧的会有漏洞,解压完成试试能不能用,tomcat目录里面bin目录下,./catalina.sh start启动,访问一下,不能访问基本都是防火墙问题,能出现tom猫界面就可以停了,可以./catalina.sh stop,也可以找到进程pid,kill -9 pid号,进到webapps目录里面删除所有,把之前的jenkins.war拷进来,启动tomcat。我用的8080端口访问地址为http://公网地址:8080/jenkins
#启动apache 也可以使用catalina.sh 接形参 start | stop 进行启停
[root@localhost java]# ./apache-tomcat-8.0.50/bin/startup.sh Using CATALINA_BASE: /usr/local/java/apache-tomcat-8.0.50 Using CATALINA_HOME: /usr/local/java/apache-tomcat-8.0.50 Using CATALINA_TMPDIR: /usr/local/java/apache-tomcat-8.0.50/temp Using JRE_HOME: /usr/local/java/jdk1.8.0_161 Using CLASSPATH: /usr/local/java/apache-tomcat-8.0.50/bin/bootstrap.jar:/usr/local/java/apache-tomcat-8.0.50/bin/tomcat-juli.jar Tomcat started.
[root@localhost webapps]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring jenkins.war... 100% 65021 KB 32510 KB/sec 00:00:02 0 Errors
# 登陆网页输入 ip:8080/jenkins出现如下
#按照提示查看jenkins 登陆密钥
[root@localhost apache-tomcat-8.0.50]# cat /root/.jenkins/secrets/initialAdminPassword a1ed4bb9cdf44853a2c13998e52f3a23
第一个是建议安装,第二个是选择性的安装
这里测试环境选择第一个
安装完成之后出现一个注册页面
# 注册完出现如下界面
如果没有设置用户进入,admin用户登录还不知道密码是什么,是/root/.jenkins/secrets/initialAdminPassword这个里面的密码,
http://ip:8080/jenkins/user/admin/configure修改admin密码,也可以点系统管理,在里面找管理用户,点屏幕中上方的admin进去最下面修改密码保存。
# 点 左下角齿轮修改用户密码
二、安装Maven(用来构建项目)
下载地址:apache-maven-3.3.9-bin.tar.gz
# 上传解压maven [root@localhost java]# rz rz waiting to receive. Starting zmodem transfer. Press Ctrl+C to cancel. Transferring apache-maven-3.3.9-bin.tar.gz... 100% 8292 KB 8292 KB/sec 00:00:01 0 Errors [root@localhost java]# tar zxvf apache-maven-3.3.9-bin.tar.gz
#配置 maven环境变量
vim /etc/profile
export M2_HOME=/usr/local/java/apache-maven-3.3.9 export M2=$M2_HOME/bin export PATH=$M2:$PATH
三、安装git
这里选择yum 安装,也可以用源码安装!
[root@localhost java]# yum install -y git
四、配置jenkins
如果网页出现提示需要更改 tomcat conf目录下的 server.xml配置
1.添加插件
容器部署Deploy container 插件选择性安装 linux系统下可以用scp命令 配合shell 脚本实现自动化
2.工具配置
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
配置maven
配置结束save保存
3.系统配置
这个没有话看一下上面的插件,没安装maven的插件就没有这个配置
五、构建项目
开始创建一个新任务.,出现下图,名字随便起,选择构建一个maven项目
连接git,我们是自己搭的gitlab(gitlab安装中文版),需要在gitlab上搜索ssh或者key,找到一个ssh keys字样的,把jenkins服务器的公钥放在上面,
另外这个里面添加一个jenkins服务器root用户的私钥,添加不了的话按下面的添加也可以
发现gitlab服务器的私钥也可以,估计是因为gitlab页面上也放了gitlab的公钥,看来配对的公私钥就可以,有兴趣的可以试试。
选择这个这里面可以写脚本,我下面写这个相当于脚本里的命令去远程执行另一个脚本
如图,后面的功能都是用脚本写的,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下,起服务,
参考博主:漫风满画楼 完成博文