Jenkins环境搭建与使用
1 Jenkins下载
https://www.jenkins.io/download/
下载完成后
2 启动Jenkins
Java -jar jenkins.war
在浏览器输入10.88.123.11:8080
指定JDK为本机JDK路径
查看jenkins版本
3 插件安装方式
3.1 在线安装
安装jenkins后,初次启动的时候安装插件
安装推荐的插件,或者选择插件安装
3.2 在线安装:插件管理,可选插件中
3.3 离线安装:下载插件(.hpi格式)
使用该方法安装插件每次只能安装一个插件,且如果插件之间存在依赖性则需按顺序进行安装
安装失败时可以选择Details查看安装失败原因,大多数时候是因为插件之间的依赖性,或者插件版本等原因。
https://plugins.jenkins.io/ui/search?query=
导入插件
成功后,重启jenkins
4、离线安装:通过jpi文件
直接将jpi文件放入Jenkins的plugins文件夹下(rpm安装的jenkins,路径是:/var/lib/jenkins/plugins/),然后重启Jenkins即可。
用这种方式既可以批量安装插件,安装时又可以忽视插件之间的关联性。若依赖的插件不存在或者存在版本问题,则重启之后会在Manage Jenkins中进行提示,根据提示逐一解决问题即可。
如果需要对Jenkins的插件配置进行迁移,直接将plugins文件目录直接替换即可,或者将.jpi复制过去之后直接重启Jenkins即可。
4 离线安装jenkins插件
Jenkins 安装报错"该Jenkins实例似乎已离线",如果Jenkins所在的服务器有防火墙或者没有网络,就只能通过上传插件的方式进行离线安装了。下面是具体的安装步骤:
1、 插件下载地址:http://mirror.xmission.com/jenkins/plugins/
https://updates.jenkins-ci.org/download/plugins/ (使用该网址,有jenkins的版本)
根据自己需要的插件名称进行搜索,下载.hpi类型文件。如果是搭建Jenkins+ant+jmeter测试环境,一般需要这几个插件:Ant Plugin,Performance plugin,HTML publisher plugin,Groovy。
https://plugins.jenkins.io/matrix-project/dependencies/ 该网址可以查询依赖关系。
2、 重点:一定要下载 skip-certificate-check.hpi 文件。
Ctrl+f搜索:
3、 点击Jenkins左侧控制面板中的"Manage Jenkins"--->"Manage Plugins"--->"Advanced",拖到下面找到"Deploy Plugin",上传.hpi类型的文件,点击Deploy安装插件。
点击restart jenkins
【必须先安装 skip-certificate-check.hpi ,否则安装插件时会失败。】
采用离线安装插件的方法在插件部署完可能会存在依赖问题,需要在https://updates.jenkins-ci.org/download/plugins/ 搜索并下载部署到jenkins中。
重重依赖,部署麻烦,建议直接在外网环境下载完插件在导入内网使用。
5 Jenkins创建自由式风格项目
-
创建项目
-
配置流水线
-
配置构建步骤
-
加入Junit单元测试
-
BlueOcean查看构建结果
-
本地构建产物
6 Jenkins中节点运行job文件的传递
6.1 文件传递
下面以B的产物传递到 A中来简述, B是在节点机器运行,产物也存在节点机器。
-
安装Copy Artifact Plugin 插件,第三步需要用到这个插件
-
在B设置中,添加构建后操作步骤,选择Archive the artifacts;把需要传递的文件路径与名字写在文本框中(以job的workspace为根目录),多个文件以逗号分隔开,如下图传递了build/libDataReceiver.so文件:
-
交叉编译配置
-
源代码管理
-
保存配置
-
构建项目
-
查看构建输出信息
-
然后在A设置中,增加构建步骤,选择Copy artifacts from another project,配置如下:
-
构建A
6.2 上下游jobs设置(并行、串行)
使用jenkins中,当有多个jobs需要互相关联时,就需要设置jobs的上下游关联关系。比如B运行后触发A。
6.2.1 Build after other projects are built设置
(1)这里设置的为上游的jobs名称,比如在A填写的设置中填写了B,则会等待B运行完后,自动触发A运行。
(2)可以设置多个,用逗号分开,比如在A填写的设置中填写了B,job_C,则会等待B,job_C运行完后,自动触发A运行。
6.2.2 Build other projects
(1)在构建后操作中,添加一个操作步骤Build other projects,这里设置的就是下游的jobs运行,比如在job_B填写的设置中填写了job_A,则job_B运行完后,自动触发job_A运行。
(2)当然这里也可以填写多个,形成了并行;比如在job_B填写的设置中填写了job_A,job_C,则ob_B运行完后,自动触发job_A,job_C一起运行。
6.2.3 jenkins-multijob-plugin
jenkins-multijob-plugin这个是插件,安装插件就不在这里说了啊。这个插件主要作用就是把多个jobs组装起来,形成持续集成。
(1)新建jobs,选择MultiJob Project
(2)进入job设置,在构建模块,新建构建步骤,选择MultiJob Phase
总结:multijob的好处主要是,让各个job独立,不受到上下游的任何影响,这样就不会受到任何依赖。比如代码存在多个分支master与test,需要合并、编译、部署
(1)master-合并-编译-单元测试-部署
(2)test-合并-编译-单元测试-部署
形成这样形成一个顺序的job执行,各不影响,不用去设置job的上下游而受到影响。
参考:
https://blog.csdn.net/ouyanggengcheng/article/details/76131289