Maven+Jenkins+Gitlab自动化部署
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
略……
创建用户




创建组



用户加入组


创建仓库


本机生产密钥
1 | ssh-keygen -C "lisi@qq.com" |
打开web平台



复制仓库的URL

克隆远程仓库
1 | cd / |
解压kgcweb的tar包
1 | tar zxf kgcweb.tar.gz |
进入本地目录/kgc
1 | 对移动来的目录和文件上传到本地仓库 |
将本地仓库中的数据发布到远程仓库的主分支中
1 | git push origin master |
验证去远程kgc仓库中查看

部署maven+jenkins
部署maven
略……
部署jenkins
使用rpm工具安装jenkins
1 | rpm -ivh jenkins-2.199-1.1.noarch.rpm |
启动服务
1 | systemctl restart jenkins |
访问
1.1.1.1:80080

查看管理员密码,并输入到页面中继续
1 | cat /var/lib/jenkins/secrets/initialAdminPassword |
进入另一个页面,点击安装推荐的插件(如果网络不好的话就点击第二个选择插件)

安装完以后


进行插件管理

安装额外以下五个 插件
Maven Integration:jenkins安装该插件之后可以部署maven项目
GitLab:提供UI显示Jenkins工作状态
Gitlab Authentication:用来做访问gitlab的认证
Gitlab Hook:运行gitlab设置Hook来通知Jenkins代码更新
Build Authorization Token Root:支持通过Token做身份验证
修改maven的配置文件
1 | vi /usr/local/maven/conf/settings.xml |
配置全局工具

指定maven主配文件路径

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



建一个maven项目




去gitlab节点操作
查看私钥值
1 | cat /root/.ssh/id_rsa |


Gitlab节点生成token值:
1 | openssl rand -hex 10 |






去gitlab节点操作





配置URL及token值

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

测试


201代表成功!!!




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

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



在gitlab的kgc仓库中提交新文件验证
上传文件验证
1 | touch aa |
在Jenkins主机查看
刷新等待



然后查看一下这个文件
1 | cat /tmp/success.txt |
