Jenkins详细教程-jenkins安装与配置
⼤纲
1.背景
在实际开发中,我们经常要⼀边开发⼀边测试,当然这⾥说的测试并不是程序员对⾃⼰代码的单元测试,⽽是同组程序员将代码提交后,由测试⼈员测试;
或者前后端分离后,经常会修改接⼝,然后重新部署;
这些情况都会涉及到频繁的打包部署;
⼿动打包常规步骤:
1.提交代码
2.问⼀下同组⼩伙伴有没有要提交的代码
3.拉取代码并打包(war包,或者jar包)
4.上传到Linux服务器
5.查看当前程序是否在运⾏
6.关闭当前程序
7.启动新的jar包
8.观察⽇志看是否启动成功
9.如果有同事说,⾃⼰还有代码没有提交......再次重复1到8的步骤(⼀上午没了)
那么,有⼀种⼯具能够实现,将代码提交到git后就⾃动打包部署勒,答案是肯定的:Jenkins
当然除了Jenkins以外,也还有其他的⼯具可以实现⾃动化部署,如Hudson等
只是Jenkins相对来说,使⽤得更⼴泛。
2.Jenkins服务器搭建及基本配置
2.1.简介
Jenkins是⼀个开源软件项⽬,是基于Java开发的⼀种持续集成⼯具,⽤于监控持续重复的⼯作,旨在提供⼀个开放易⽤的软件平台,使软件的持续集成变成可能。
2.2.Jenkins⾃动化部署实现原理
2.3.Jenkins部署环境
基本环境:
1.jdk环境,Jenkins是java语⾔开发的,因需要jdk环境。
2.git/svn客户端,因⼀般代码是放在git/svn服务器上的,我们需要拉取代码。
3.maven客户端,因⼀般java程序是由maven⼯程,需要maven打包,当然也有其他打包⽅式,如:gradle
以上是⾃动化部署java程序jenkins需要的基本环境,请⾃⼰提前安装好,下⾯着重讲解Jenkins的安装部署配置。
2.4.Jenkins安装
1.下载安装包;
2.在安装包根路径下,运⾏命令java -jar jenkins.war --httpPort=8080,(linux环境、Windows环境都
⼀样);
4.填写初始密码,激活系统
5.进⼊插件安装选择
这⾥建议选择,推荐安装的插件,保证基本常⽤的功能可以使⽤。
选择后,进⼊插件安装页⾯
6.设置初始⽤户和密码
7.进⼊系统,安装完成
注意,如果还是进⼊不了系统,需要稍等⼀下,或者刷新页⾯,如果还是进⼊不了,需要重新启动jenkinds服务器。2.5.Jenkins基本配置
2.5.1.系统初始化配置
1.Configure System (系统设置)
在系统设置这⾥,我们只需要设置最后⾯的⼀项,配置远程服务器地址,
即我们代码最终运⾏的服务器地址信息,就像我们之前⼿动部署时使⽤xshell登录Linux服务器⼀样,
当然这⾥是可以配置多台远程Linux服务器的,配置完成后点击保存即可,为后⾯我们配置⾃动化部署做准备,配置如下图
2.Configure Global Security (全局安全配置)
a.配置⽤户相关的权限
b.配置钩⼦程序(当⽤代码更新时通知)访问权限,避免报403错误
默认是勾选上了的,这⾥去掉勾选
3.Global Tool Configuration (全局⼯具配置 )
a.配置maven的全局settings路径
b.配置jdk
c.配置git
d.配置maven的安装路径
4.配置必要插件
主要是检查如下这两个插件是否已安装
插件1:Publish over SSH
插件2:Deploy to container Plugin
到这⾥,我们配置⼀个⾃动化部署的的java程序(springBoot+maven+gitHub),基本必要配置就差不多了,后⾯配置过程中如果需要在配置。
3.Jenkins⾃动化部署(springBoot+maven+gitHub)项⽬
3.1.Jenkins服务器上创建项⽬和配置
⼤体步骤:General(基础配置)--》源码管理--》构建触发器--》构建环境--》构建--》构建后操作
1.创建⼀个⼯程
2.General(基础配置)
仅需填写标准部分,其他可不填写
3.源码管理
上图中点击“添加”按钮添加⼀组账号和密码
4.构建触发器
如上图:当前项⽬的回调地址为:
只要执⾏这个地址(在浏览器上访问改地址),该项⽬就会发起⼀次构建项⽬,即拉取代码打包部署操作,
在实际中,是由git服务器回调改地址,在后⾯讲git服务器配置时详细讲解,
值得注意的是,如果你是学习测试,使⽤的是GitHub服务,要确保你的回调地址已经试外⽹映射过的,即往外⽹可以访问
5.构建环境(⽆需配置)
6.构建
7.构建后操作
构建后操作的意思是,jar打包好后,要将jar发送到哪⾥去,发送后去和启动等
这⾥需要提前在需要部署的服务器上配置好路径,写好启动和停⽌项⽬的脚本,并设置为可以执⾏的脚本,
其实就是我们平时在Linux上⼿动部署项⽬操作的脚本
案例中给出的stop.sh脚本如下:
1 #!/bin/bash
2 echo "Stop Procedure : demo2-0.0.1-SNAPSHOT.jar"
3 pid=`ps -ef |grep java|grep demo2-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
4 echo 'old Procedure pid:'$pid
5 if [ -n "$pid" ]
6 then
7 kill -9 $pid
8 fi
案例中给出的start.sh脚本如下:
1 #!/bin/bash
2 export JAVA_HOME=/usr/java/jdk1.8.0_131
3 echo ${JAVA_HOME}
4 echo 'Start the program : demo2-0.0.1-SNAPSHOT.jar'
5 chmod 777 /home/ldp/app/demo2-0.0.1-SNAPSHOT.jar
6 echo '-------Starting-------'
7 cd /home/ldp/app/
8 nohup ${JAVA_HOME}/bin/java -jar demo2-0.0.1-SNAPSHOT.jar &
9 echo 'start success'
到此,Jenkinds服务器配置完成,接下来我还有要配置Linux服务器和Git服务器。
3.2.Linux服务器配置
在Liux服务上,上传上⽂中的两个脚本,⽤于启动和停⽌
3.3.GitHub服务器配置
maven下载教程 在GitHub服务器上的指定项⽬⾥⾯配置上⽂中提到的回调地址
特别注意:为了保证回调地址⽹可以使⽤,
所以,下⾯配置的是外⽹映射地址。
到这⾥所有配置搞定,只需修改代码,提交到git,然后访问程序看是否⽣效。 4.测试
1.测试代码
2.提交代码到git,触发构建
3.在GitHub服务器上去看,是否已经触发
4.在Jenkins的控制台查看是否,正在构建
从下图中可以看出,正在构建
5.查看当次构建的控制台⽇志
说明已经启动成功
6.查看Linux服务器,是否上传代码
7.在Linux上使⽤命令jps,查看是否启动
8.浏览器上访问,看是否能⽤
说明,已经正常启动可以使⽤。
9.再次确认是否能⾃动化部署
修改代码,重新提交代码,循环1到8步查看。
如果测试结果是你预期的,那么⾃动化部署成功。
5.总结&资料下载
5.1.总结
⾃动化部署Jenkins,作为⼀款⼯具,有着⾮常强⼤的功能,
上⾯我们只是讲了⽣产上做Java⾃动化部署的⼀个主要流程,
但是,本着学习是为了解决⽣产的原则,
个⼈建议,⽤到Jenkins的什么功能就学什么就可以了,
没必要把Jenkins的所有功能都学完在使⽤,
就如同我们使⽤word⽂档⼀样,并没有系统的他word⽂档学完后,在开始使⽤,⽽是⽤到什么功能就学习什么功能!
5.2.相关资料
3.博客配套视频:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论