一、jenkins是什么?

Jenkins 是⼀个独⽴的开源⾃动化服务器,可⽤于⾃动化与构建、测试、交付或部署软件相关 的各种任务。安装地址:Jenkins download and deployment

jenkins搭建教程 jenkins原理和搭建_Jenkins

不必根据操作平台来安装对应版本,我们统⼀使⽤ War 包 就好了;

二、部署Jenkins

由于我们是下载的是war包,所以我们只要是可以运⾏java的地⽅就可以构建Jenkins;所以我 们找到Jenkins.war 的 路径 并在改路径下进⼊cmd 或者 终端;

java -jar <jenkins.war的路径>

jenkins搭建教程 jenkins原理和搭建_jenkins_02

如果你是第⼀次构建,那你的Jenkins会⽣成⼀个⼯作⽬录,也就是你构建的Jenkins服务其本 质上是⼯作⽬录⾥⾯的多份⽂件在提供服务;

你的⼯作⽬录的位置可以在cmd 或者终端中搜索: Jenkins home directory 可以看到 

jenkins搭建教程 jenkins原理和搭建_运维_03

同样的如果你是第⼀次构建cmd或者终端中搜索 initialAdminPassword 则能找到你的 admin的初始密码;

jenkins搭建教程 jenkins原理和搭建_运维_04

 Jenkins是⼀个web应⽤项⽬,其默认通过设备的 8080 端⼝提起⾃身服务;所以我们访问 127.0.0.1:8080 即可访问Jenkins的界⾯;

第⼀次构建的Jenkins我们看到的界⾯如下显示;其中的管理员密码就是 我们在cmd或者终端 中看到的admin初始密码;或者按照提示去寻找;

jenkins搭建教程 jenkins原理和搭建_运维_05

我们输⼊该密码,点击 【继续】进⼊Jenkins项⽬;第⼀次进⼊可能会加载⽐较缓慢;等待⽚ 刻;即会显示下图界⾯:

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_06

我们选择【安装推荐的插件】即可;等待它全部安装完成;

请注意这⾥安装失败会有两个⽅⾯的原因

1、你的插件安装更新源需要改成国内镜像源 

修改Jenkins⼯作⽬录下的 hudson.model.UpdateCenter.xml ⽂件,将url 改 为        http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

修改Jenkins⼯作⽬录下的 updates/default.json ⽂件, 将 updates.jenkins.io/download 全部替换 成 mirrors.tuna.tsinghua.edu.cn/jenkins 还有将 www.google.com 全部替 换为 www.baidu.com

重启Jenkins服务

2、是因为你的⽹络不好导致的,所以如果出错,请重新访问,重新安装即可

jenkins搭建教程 jenkins原理和搭建_jenkins_07

 正常安装成功之后,我们即可创建⼀个管理员⽤户了,⾃⼰设置管理员的⽤户名和密码

jenkins搭建教程 jenkins原理和搭建_ci/cd_08

jenkins搭建教程 jenkins原理和搭建_ci/cd_09

jenkins搭建教程 jenkins原理和搭建_ci/cd_10

 三、简单的使用

 Jenkins之所以是持续集成的重要⼀员,主要是因为它提供了项⽬与操作系统交互的能⼒; 总体来说,简单的使⽤项⽬与操作系统交互的步骤就三步:构建任务、设置构建脚本、运⾏项 ⽬

下⾯我们就依次来讲解⾸先第⼀个构建任务:

jenkins搭建教程 jenkins原理和搭建_Jenkins_11

jenkins搭建教程 jenkins原理和搭建_Jenkins_12

jenkins搭建教程 jenkins原理和搭建_Jenkins_13

jenkins搭建教程 jenkins原理和搭建_jenkins_14

 

jenkins搭建教程 jenkins原理和搭建_Jenkins_15

 构建脚本的注意事项:

1、Jenkins构建的脚本其本质是调⽤了你们操作系统的 终端 或者 CMD 在运⾏命 令;所以,⾸先你要确认你的命令存在于系统环境变量中;⽐如上图中的 Python3 --version ⼤家要先确定,在终端 或 CMD中运⾏是正常的,才能确定Jenkins执⾏ 不会有误;

2、Jenkins的执⾏时是以Jenkins构建的项⽬的⼯作空间 为起始⽬录,所以在运⾏命 令时,如果涉及到相对路径,切记⼀定要明确运⾏脚本时,当前所在路径为当前项⽬ 的⼯作空间下;

运⾏项⽬:

jenkins搭建教程 jenkins原理和搭建_jenkins_16

jenkins搭建教程 jenkins原理和搭建_jenkins_17

此时我们就已经掌握了Jenkins的简单使⽤了;

四、项目构建进阶

1、jenkins拉取gitee上的仓库源码

步骤1:确认Jenkins【系统管理】--》【全局⼯具配置】--》【Git】为下图显示:

jenkins搭建教程 jenkins原理和搭建_Jenkins_18

步骤2:构建项⽬时对项⽬的源码管理选择【Git】

jenkins搭建教程 jenkins原理和搭建_运维_19

jenkins搭建教程 jenkins原理和搭建_ci/cd_20

jenkins搭建教程 jenkins原理和搭建_Jenkins_21

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_22

 保存项⽬运⾏后查看效果

jenkins搭建教程 jenkins原理和搭建_Jenkins_23

jenkins搭建教程 jenkins原理和搭建_ci/cd_24

 

jenkins搭建教程 jenkins原理和搭建_jenkins_25

使用虚拟环境运行代码

打包依赖用 pip freeze > 文件名  一般是txt

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_26

2. jenkins定时构建步骤

jenkins搭建教程 jenkins原理和搭建_jenkins_27

 

jenkins搭建教程 jenkins原理和搭建_jenkins_28

jenkins构建定时任务是经常使⽤的⼏个Cron:

每15分钟构建⼀次:H/15 * * * * 或 */15 * * * *

每天8点构建⼀次:0 8 * * *

每天8点~17点,两⼩时构建⼀次:0 8-17/2 * * *

周⼀到周五,8点~17点,两⼩时构建⼀次:0 8-17/2 * * 1-5

每⽉1号、15号各构建⼀次,除12⽉:H H 1,15 1-11 * 

 3.邮件发送

Jenkins可以发送email,每次执⾏完测试⽤例之后,我们就可以不需要来访问Jenkins来查看 情况了

【系统管理】--【系统配置】--【系统管理员邮件地址】

jenkins搭建教程 jenkins原理和搭建_Jenkins_29

【系统管理】--【系统配置】--【Extended E-mail Notification】 

jenkins搭建教程 jenkins原理和搭建_ci/cd_30

jenkins搭建教程 jenkins原理和搭建_ci/cd_31

在Jenkins的实际任务中使⽤邮件发送; 

jenkins搭建教程 jenkins原理和搭建_jenkins_32

【Editable Email Notification】中需要注意添加的内容:

Project Recipient List : 邮件的发送对象,多个对象使⽤因为的逗号分隔;

Content Type : 选择HTML,因为我们发送的是html⽂件;

Default Content : 邮件内容,我们需要发送的邮件内容是⼀份html的内容,所以我们使⽤ ${FILE, path=""}替代即可;

Triggers : 触发器 将原有的触发模式删除,换成 Always 即可;  

 4.集成allure报告

前提:在本机下载allure报告和pycharm下载allure依赖,用python可以正确生成allure报告。

步骤一:需要在jenkins下载插件

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_33

 步骤二: 位置:系统管理--》 全局管理--》Allure Commandline

jenkins搭建教程 jenkins原理和搭建_Jenkins_34

步骤三:配置构建后操作-allure report

jenkins搭建教程 jenkins原理和搭建_Jenkins_35

步骤四:发送邮件的话需要将邮件内容改一下

jenkins搭建教程 jenkins原理和搭建_ci/cd_36

 <h1><center><font>以下是Jenkins⾃动发送的邮件,请勿回复!</font><center></h1>
<h3><center><font color="red">allure报告在线查看or下载allurereport.zip⽤
firefox离线查看,测试⽤例⻅附件</font><center></h3>
<br>
<hr>
<br>
项⽬描述:${JOB_DESCRIPTION}<br>
<br>
<hr>
项⽬名称:$PROJECT_NAME<br>
构建编号:$BUILD_NUMBER<br>
构建状态:$BUILD_STATUS<br>
触发原因:${CAUSE}<br>
构建地址:<A HREF="${BUILD_URL}">${BUILD_URL}</A><br>
构建⽇志地址:<A HREF="${BUILD_URL}console">${BUILD_URL}console</A><br>
系统allure测试报告:<A
HREF="${PROJECT_URL}${BUILD_NUMBER}/allure">${PROJECT_URL}${BUILD_NUMBER
}/allure</a><br>
<hr>
 ${JELLY_SCRIPT}

5.连接远程服务器

步骤一:下载两个插件:SSH以及 Publish Over SSH

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_37

jenkins搭建教程 jenkins原理和搭建_运维_38

 步骤二:系统管理-》系统配置-》SSH remote hosts(远程连接的IP,port默认22,用户名,密码)

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_39

 步骤三:系统管理-》系统配置-》Publish remote SSH

jenkins搭建教程 jenkins原理和搭建_Jenkins_40

 

jenkins搭建教程 jenkins原理和搭建_ci/cd_41

 

步骤四:构建,运行

jenkins搭建教程 jenkins原理和搭建_jenkins_42

 如果是从git上下载zip包,需要先将git的内容拉到jenkins工作区,然后通过构建

Send files or execute commands over SSH将打包好的软件传到服务器

jenkins搭建教程 jenkins原理和搭建_Jenkins_43

 然后再Execute shell script on remote host using ssh,进行文件一定解压缩,安装依赖,运行项目等,具体什么指令具体看项目。比如:

jenkins搭建教程 jenkins原理和搭建_Jenkins_44

jenkins搭建教程 jenkins原理和搭建_jenkins搭建教程_45

  

jenkins搭建教程 jenkins原理和搭建_ci/cd_46