欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jenkins

程序员文章站 2022-05-04 11:00:41
...

简介

Jenkins是一个开源软件项目,是基于Java开发的一种持续集成的工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台

功能介绍:

一个自动化的周期性集成测试过程,从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动化完成的,无需人工干预,有利于减少重复过程以节省时间、费用和工作量
它需要有代码托管工具支持,比如SVN git,gitlab
监控软件开发流程,快速显示问题

什么是持续集成

持续集成(continuous integration),简称CI,是指开发阶段,对项目进行持续性自动化编译、测试,以达到控制代码质量的手段。持续集成是一种软件开发实践
为什么要持续集成:
易于定位错误。也就是当你的持续集成失败了,说明你新加的代码或者修改的代码引起了错误
更加充分地的测试系统中的各个单元
有助于项目的开发数据的收集
便于开发流程的管理。要把一个开发的build提交给测试组作测试,测试满意了,再提交到发布组去发布

jenkins常见插件及含义

LDAP 这个插件允许使用LDAP对用户进行认证,LDAP服务器可以为Active Directory 或OpenLDAP
Active Directory 这个插件允许使用Active Directory对用户进行认证,同时结合诸如Matrix Authorization
strategy插件,可以识别用户所在的所有用户组,对用户授权进行灵活配置
Gitlab Authorization Stragegy 这个插件提供了一种基于角色的用户权限管理策略,支持创建global角色、project角色、slave角色,以及给用户分配这些角色。这款插件是最常用的Jenkins权限策略和管理插件
Git 支持使用Github Gitlab Gerrit等系统管理代码仓库
Subversion 支持Subversion系统管理源代码
rigger builds remotely jenkins内置功能,远程触发构建,通过设置token可以支持远程脚本中触发Jenkins构建
Gitlab 这个插件将Jenkins集成到gitlab webhook中,支持gitlab分支及Merge Request等相关事件触发Jenkins构建
JIRA Trigger 这个插件将Jenkins集成到Jira WebHooks中,支持jira issue的状态等变化时触发Jenkins构建
Workspace Clenaiup 这个插件支持在构建任务的不同阶段插入环境变量,并在构建结束导出所有的环境变量等功能
Mailer 这个插件支持基本的邮件通知功能,比如构建失败和构建恢复陈宫可以发送邮件通知相关人员
Email Extension 这个插件是邮件通知的扩展,支持定制邮件内容,触发条件以及邮件接收者,功能比基本邮件通知要灵活强大的多
Backup 这个插件添加备份功能到Jenkins management

实验准备

需要的软件包为:jdk-8u201-linux-x64.tar
用yum卸载Jenkins:
yum -y remove 服务名

实验步骤

解压软件包

tar -zxf jdk   -C /usr/local/

修改环境变量

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_201/     
export JRE_HOME=/usr/local/jdk1.8.0_201/jre     
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar  //中间:(冒号)的意思是他和她
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

这是从网上自己下载的

wget -O /etc/yum.repo/jenkisns.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm  --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum -y localinstall  jenkins-2.164.1-1.1.noarch.rpm 

开启Jenkins

systemctl  restart jenkins
cat /var/lib/jenkins/secrets/initialAdminPassword      #把代码复制进去
firefox 127.0.0.1:8080

1、安装管理Gitlab Plugin就是Gitlab插件
Jenkins
Jenkins
Jenkins
2、全局工具配置

Jenkins
Jenkins

3、Jenkins的用户管理
Jenkins
Jenkins
4、
Jenkins
5、
Jenkins
Jenkins
Game-of-file
Jenkins
然后自己去创建一个用户
在百度自己搜索:github

蓝色:构建成功
黄色:不确定,可能构建成功,但包含错误
红色:构建失败
灰色:项目从未构建过,或者被禁用
注意:手动触发构建的时间与自动定时构建的时间互不影响

构建成功的比例
比如说你构建 一次就成功了就是百分之百
构建成功的比例:

Jenkins

Jenkins持续集成

首先关闭防火墙Gitlab和Jenkins
开启两个服务

Gitlab的操作:
要自己在图形化界面创建一个叫yhf名字的项目
mkdir kgc
cd kgc/
tar -zxf bdqnapp.tar.gz -C kgc
git clone aaa@qq.com:kgc/yhf.git 这是把Gitlab的代码仓库克隆到本地
cp -r yhf/.git kgc/bdqnapp/
必须要有.git不然不能执行下面的操作
上传文件或者目录:
git add pom.xml
git commit -m “pom”
git push origin master
git add src
git commit -m “src”
git push origin master

在Jenkins:
Jenkins
Jenkins
Jenkins
Jenkins
Jenkins
Jenkins
安装插件两个插件
Jenkins
Jenkins
去Gitlab图形化操作:
Jenkins
Jenkins

建立Gitlab和Jenkins的连接

Jenkins
Jenkins

http://192.168.43.57:8080/buildByToken/build?job=bdqnapp&token=ec8f127430f49fd5aa3fecd3

Jenkins
Jenkins
这个是获取Gitlab生成的Token值,等会要去Jenkins上面添加建立连接
Jenkins
Jenkins
Jenkins
Jenkins
然后在去Gitlab上面提交
Jenkins

cd /root/kgc/bdqnapp/
echo "hello world" > haha.txt    #在工作区创建一个新的文件   
git add haha.txt     #选中这个文件把它加入缓存区
git commit -m "haha"      #添加对这个文件的说名,并提交到本地仓库
git push origin master     #将文件上传到远程仓库
git四个区域:

工作区
缓存区
本地仓库
远程仓库