Jenkins的简单配置与使用
Posted 麻瓜码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jenkins的简单配置与使用相关的知识,希望对你有一定的参考价值。
今天来写一写Jenkins,当然这也是之前boss布置给我的任务了……
废话不多说,先来简单介绍一下它吧,Jenkins是基于Java开发的一种持续集成工具,它也是一个开源项目,支持构建,部署和自动化任何项目,而且提供了非常多的插件,使用起来也非常方便。
一. 准备工作
首先,先在官网 https://jenkins.io/download 下载Jenkins,现在最新的LTS版本是2.73.1。建议下载 .war后缀的包,使用起来比较简单。在war的文件夹命令行运行java -jar jenkins.war就可以了,没错,就可以了!
然后可以浏览器访问 http://localhost:8080/ ,接下来的配置和使用都是在这里进行了。
然后去这个目录下把initialAdminPassword文件的那一串密码复制过来,然后有一个插件安装界面,我觉得这里默认安装就好,然后就是等一段时间。
然后新建用户名就可以使用了:
它会自动帮你用刚才的账户登录,点击系统管理--系统信息可以看到你的一些系统属性和环境变量之类的信息。
当然最重要的还是管理插件的功能了,你可以在那里添加你想要的插件,比如maven。注意了,没有安装这个插件就新建不了maven项目。
然后就可以新建项目了:
二. 构建项目
我这里是maven项目,build那里就填你需要执行的maven命令。
我这个项目是要发布到远程liberty服务器的,jenkins有一个WebSphere Deployer Plugin插件可以实现。这里由于灵活性等种种原因,反正就是boss要求……我没有使用这个插件,而是使用构建后执行cmd命令进行发布。
对了,那个插件的使用下面这篇文章讲的很清楚,虽然是英文的,不过我一个英文渣也能看得差不多了,我也按照这个文章试过了是能成功的。https://wiki.jenkins.io/display/JENKINS/IBM+WebSphere+Liberty+Configuration
进入正题,这里post steps增加构建后的操作,我这里远程服务器也是windows,用的是windows命令,如果是linux的可以自行考虑换ssh之类的连接方式。
(1)首先net use连接上远程服务器,用法如下:
net use \127.0.0.1 password /user:administrator
(2)用copy命令把原来war文件夹下的test.war备份到bak文件夹下,命名后面加上系统时间(注意这里是英文系统,中文的格式需要稍加修改)如test20170915124354.war:
copy \127.0.0.1d$war est.war \127.0.0.1d$ak est%Date:~10,4%%Date:~4,2%%Date:~7,2%%time:~0,2%%time:~3,2%%time:~6,2%.war
(3)用xcopy命令把打包好的war复制到远程服务器的d盘war文件夹下
xcopy target est.war \127.0.0.1d$war
(4)用schtasks命令执行远程服务器上建好的名为restart的计划任务,这个计划任务是用来重启liberty服务器的,其实发布完可以不用重启的,但是boss要求我也没办法……
schtasks /run /s 127.0.0.1 /u administrator /p password /tn restart
(5)先等待180秒,然后寻找liberty的defaultServer下的项目启动的log,直到出现ready_running,这是项目代码里加上的用于判断项目已经启动可以访问的标志。
ping -n 180 127.1>nul
:find
find "ready_running" \127.0.0.1d$IBMwlp-webProfile7-java8-win-x86_64-17.0.0.1wlpusrserversdefaultServerlogsconsole.log>nul
if errorlevel 1 goto find
if errorlevel 0 echo test is ready!
(6)断开与远程服务器的链接,这里记住要断开,因为不允许同时连接,不断开下次就连不上了。
net use \127.0.0.1 delete
创建好项目之后只要点击立即构建,Jenkins就会帮我们从svn上获取代码打包然后发布到远程服务器上了。点击每一次的构建选中console output都能看到相应的控制台输出,就能看到自己的构建过程了,至于结果,蓝色是构建成功,红色则是失败,灰色是人为的终止。
三.pipeline
Jenkins提供了叫pipeline的东西可以可视化构建过程。新建一个pipeline项目,注意了,使用中还是最好不要用中文哈……
这里填写你需要的groovy脚本,语法我也不太熟……所以我这里就是分别把构建、发布分开创建单独的项目。
放代码上来样子好丑……我截个图吧(看不清可以点击图片放大)
可以看到在steps里用build可以构建其他项目,UAT的部分是则是需要用户approve才决定是否要继续,构建的效果是这样的:
这里我构建了三次,第一次approve了,第二次是没有approve的。点击每一步的logs还可以看到日志
所以,我们只要设置好每一步需要构建的项目,就能很方便的用pipeline管理项目的发布了。
另外,安装Build Pipeline Plugin插件还可以创建一个pipeline的视图。
安装完之后点击All旁边的 + 号:
选择Build Pipeline View,填写名称,还是不要学我用中文哈……
创建之后这里选择起始的项目:
然后 麻瓜1 这个项目里要在构建后操作那里选择:Trigger parameterized build on other projects:
然后选择它的下游项目,这里是可以有多个的,注意如果 麻瓜2 不需要参数的话要勾上Trigger build without parameters:
可以继续添加后续的项目,我这里一共添加了3个,需要注意的是不能让项目之间形成环路,比如项目 麻瓜2 的下游项目设置成 麻瓜1 ,这样想想也知道会挂的对吧……然后点击建好的视图:
这里也可以看到每个项目的构建情况:
这里也可以进行一些配置和查看控制台输出:
以上是关于Jenkins的简单配置与使用的主要内容,如果未能解决你的问题,请参考以下文章