部署詹金斯+ Gitlab实现持续集成

  

前言

  

詹金斯介绍

  

詹金斯只是一个平台,真正运作的都是插件。这就是詹金斯流行的原因,因为詹金斯什么插件都有哈德逊是詹金斯的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作,哈德逊后来被收购,成为商业版。后来创始人又写了一个詹金斯,詹金斯在功能上远远超过哈德逊。

  

参考文献:詹金斯中文网

  

在进入部署安装的正题之前,有以下几个问题需要搞清楚! ! !

  

1,什么是集成?

  

指的是代码由编译,发布和测试,直到上线的一个过程。

  

2,什么是持续集成?

  

高效的,持续性质的不断迭代代码的集成工作。

  

3,如何高效准确的实现持续集成

  

必不可少的需要一套能自动化,并且可视化的平台来帮助我们。

  

<强>根据以上几点来看,詹金斯就是一个可以实现持续集成的平台。

  

4,为什么是詹金斯来帮助我们实现持续集成?

  
1)詹金斯是一个开源的,且基于JAVA代码开发的持续集成系统。
  

因为含有非常丰富的插件支持,所以我们可以方便的打通版本库,测试构建环境,线上环境的所有环节,并且丰富友好的通知使用者和开发,管理人员。

  
2)安装维护简单
  

安装詹金斯,不太复杂,而且支持通用的平台。

  
3) Java应用常用
  

在企业的软件构建过程中,JAVA的应用工程稍显复杂,由于复杂构建和代码上的线,并且服务的重启。整个过程下来,消耗的时间较多,詹金斯却能很好的集成maven的编译方式,而且利用自动化的插件和自定义开发脚本的支持,所以目前广泛的应用于JAVA工程的持续集成平台。

  

接下来用到的所有软件包大多数是从清华开源镜像站下载。

  

一、部署安装gitlab

  

1,安装gitlab

  
 <代码> root@jenkins ~ # wget https://mirrors-i.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm
  (root@jenkins ~) # rpm -ivh gitlab-ce-11.9.8-ce.0.el7.x86_64.rpm
  #由于我不打算做域名解析,所以需要修改其配置文件
  # vim/etc/gitlab/gitlab.rb root@jenkins ~)
  external_url ' http://192.168.20.2 ' #将原本的域名改为本机IP
  (root@jenkins ~) # gitlab-ctl重新配置#重新配置gitlab,就算不修改配置文件,也需要在安装后重新配置gitlab
  (root@jenkins ~) # netstat -anpt | grep - w 80 #确定其80端口在监听 
  

2,配置gitlab

  

<强>客户端访问服务器的IP地址,可以看到以下界面(配置密码并登陆):

  

部署詹金斯+ Gitlab实现持续集成

  

部署詹金斯+ Gitlab实现持续集成

  

<强>上传服务器公钥(接下来的操作与在github上大同小异),先在服务器上生成密钥对:

  
 <代码> [root@jenkins ~] # ssh - keygen rsa - t - c 916551516 @qq.com”
  (root@jenkins ~) #猫~/. ssh/id_rsa。酒吧#查看生成的公钥并复制其内容
  将AAAAB3NzaC1yc2EAAAADAQABAAABAQCeOeInVnfQiVdTTiA8MyaIuMdrtQUce1BpiBR8d2IAWS4PVznRub + m9hRR2vRRK3K3T4oMGpgjvj7s5n8n4AcFojDRsNgCrpprz4jlTykm0okQclXtOzeFfpLzwp08l0mmb3ZotuU/iK5sYUh70MAxG/gSzfZ5Cscmba + HGSYksN75BRkYBOT3VBJHuqhdHEIrmK0uOUU4/F3ImqrBoOs3/2c6aI5AxrHGy3aVdWAcg2Pg541djMD74DJCaVpPj08GQNZZBmN p7Ft3v6Vi + jqty7CQF + uhs1x3oD/tka88F/4/rMR862TqATQ + Uuqn2LOfrvGR6kzJH5MtyKOumB 916551516 @qq.com  
  

<>强然后回到web界面:

  

部署詹金斯+ Gitlab实现持续集成

  

部署詹金斯+ Gitlab实现持续集成

  

<强>添加后如下:

  

部署詹金斯+ Gitlab实现持续集成

  

<>强创建一个库:

  

部署詹金斯+ Gitlab实现持续集成

  

部署詹金斯+ Gitlab实现持续集成

  

部署詹金斯+ Gitlab实现持续集成

部署詹金斯+ Gitlab实现持续集成