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

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

持续集成(continuous integration):简称CI,是指开发阶段,对项目进行持续性自动化编译,测试,已达到监制代码质量的手段,持续集成是一种软件开发实践

为什么要持续集成?
1.易于定位错误。也就是当持续集成失败了,说明新加的代码或者修改的代码引起了错误
2.更加充分地测试系统中的各个单元
3.有助于项目的开发数据的收集
4.便于开发流程的管理。要把一个开发的build提交给测试组做测试,测完满意了,在提交到发布者去发布

服务器信息

IP 角色
1.1.1.1 maven+jenkins
1.1.1.2 git+gitlab

部署git+gitlab

略……

创建用户

upload successful
upload successful

upload successful

upload successful

创建组

upload successful

upload successful

upload successful

用户加入组

upload successful

upload successful

创建仓库

upload successful

upload successful

本机生产密钥

1
2
3
4
ssh-keygen -C "lisi@qq.com"
查看公钥并复制
cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDWapfOvV8nac9g4VKwkqtxccpAQpEvNoAE5lE4awgqstYhPULWONv8LuRVmwv5iqG9Hft0u9povHWLJo40T04qwKt4AD01zchNMwrkAFkVUV0K9Rb021s7kMHZaxOMoeZRnnfSytqM5HBluu/42GDv9u5hC0F9mfAcB5iePexmKx2xVrE4Rl/RuupqpIVtgx2bT3X/1idLBB5XjFjqN5ZCn5MX5duiUQz1OrO/F0W95i47mSeCNGbHcwyVVdMJ7ua4sjVsIIg5abAaEj5782jzSJ0/nk3mexv9DGi34RO2C/81DienDM5UumC9EMVEax4eo2Y6MaEjJeU8Rh3Tpvy3 lisi@qq.com

打开web平台

upload successful

upload successful

upload successful

复制仓库的URL

upload successful

克隆远程仓库

1
2
cd /
git clone git@1.1.1.2:yunwei/kgc.git

解压kgcweb的tar包

1
2
3
tar zxf kgcweb.tar.gz
cd kgcweb/
mv /kgcweb/* /kgc/

进入本地目录/kgc

1
2
3
4
对移动来的目录和文件上传到本地仓库
git add pom.xml
git add src/
git commit -m "test1"

将本地仓库中的数据发布到远程仓库的主分支中

1
git push origin master

验证去远程kgc仓库中查看

upload successful

部署maven+jenkins

部署maven

略……

部署jenkins

使用rpm工具安装jenkins

1
rpm -ivh jenkins-2.199-1.1.noarch.rpm

启动服务

1
2
systemctl restart jenkins
netstat -lnpt | grep 8080

访问1.1.1.1:80080

upload successful

查看管理员密码,并输入到页面中继续

1
cat /var/lib/jenkins/secrets/initialAdminPassword

进入另一个页面,点击安装推荐的插件(如果网络不好的话就点击第二个选择插件)

upload successful
安装完以后

upload successful

upload successful

进行插件管理

upload successful

安装额外以下五个 插件
Maven Integration:jenkins安装该插件之后可以部署maven项目
GitLab:提供UI显示Jenkins工作状态
Gitlab Authentication:用来做访问gitlab的认证
Gitlab Hook:运行gitlab设置Hook来通知Jenkins代码更新
Build Authorization Token Root:支持通过Token做身份验证

修改maven的配置文件

1
2
3
4
5
6
7
8
9
vi /usr/local/maven/conf/settings.xml	
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>*</mirrorOf>
<name>image aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>

配置全局工具

upload successful
指定maven主配文件路径

upload successful
Jdk取消自动安装才会出现java_home

upload successful

upload successful

upload successful

建一个maven项目

upload successful

upload successful

upload successful

upload successful

去gitlab节点操作

查看私钥值

1
cat /root/.ssh/id_rsa

upload successful

upload successful

Gitlab节点生成token值:

1
openssl rand -hex 10

upload successful

upload successful

upload successful

upload successful

upload successful

upload successful

去gitlab节点操作

upload successful

upload successful

upload successful

upload successful

upload successful
配置URL及token值

upload successful

Job=jenkins项目名字
tonken=jenkins本机生成的Tonken

upload successful
测试

upload successful

upload successful

201代表成功!!!

upload successful

upload successful

upload successful

upload successful
添加访问gitlab所使用的token
去jenkins首页–>manage jenkins–>configura system–>在这个配置页面中的最下面找到gitlab相关配置

upload successful
在gitlab中生成给Jenkins拉取代码使用的token

upload successful

upload successful

upload successful

在gitlab的kgc仓库中提交新文件验证

上传文件验证

1
2
3
4
touch aa
git add aa
git commit -m "maven test"
git push origin master

在Jenkins主机查看

刷新等待

upload successful

upload successful

upload successful
然后查看一下这个文件

1
cat /tmp/success.txt