Linux云计算 --中国三大电商大厂都在使用的《 GitLab与Jenkins结合构建持续集成(CI)环境》是如何排列


基于最新版本:jenkins-2.222和gitlab-ce-13.9.4 搭建以下服务

1 持续集成概述和搭建Gitlab平台

1.1持续集成概述

持续集成概述:持续集成(Continuous integration)持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并进程自动化测试。开发-》代码编译-》测试-》

持续交付:持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境。
持续部署:在持续交付的基础上,把部署到生产环境的过程自动化。
在这里插入图片描述

1.2jenkins和Gitlab概述

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

网方网站:https://jenkins.io/
在这里插入图片描述

GitLab概述:

是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。Ruby on Rails 是一个可以使你开发、部署、维护 web 应用程序变得简单的框架。

GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

GitLab中文网:https://www.gitlab.cc/installation/#centos-7

1.3GitLab和GitHub的区别

GitHub和GitLab的区别:
在这里插入图片描述
相同点: 二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。
不同点:

  1. GitHub免费版本只有500MB的代码存储空间。 在这里插入图片描述
    更多免费用户的限制条件详见:https://github.com/pricing

  2. GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性。最重要的是,代码在自已的服务器上,别人拿不到。

  3. 总结:从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。

git相关概念:

git 是一种版本控制系统,是一个命令,是一种工具
gitlib 是用于实现git功能的开发库
github 是一个基于git实现的在线代码托管仓库,包含一个网站界面,向互联网开放
gitlab 是一个基于git实现的在线代码仓库托管软件,一般用于在企业内部网络搭建git私服
注: gitlab-ce 社区版 ; gitlab-ee是企业版,收费

1.4 搭建GitLab平台

实验环境: centos7 虚拟机最少需要6G内存,不然后期运行时,内存不够用,直接报错。 我这里给8G

1.安装Gitlab需要的组件:

[root@xuegod63 ~]# yum install curl policycoreutils-python openssh-server openssh-clients postfix -y
默认,使用 Postfix 发送邮件
[root@xuegod63 ~]# systemctl enable postfix && systemctl start postfix
[root@xuegod63 ~]# iptables -F  #清空规则
[root@xuegod63 ~]# systemctl stop firewalld && systemctl disable firewalld
禁止防火墙,就不用执行下面两条命令:
[root@xuegod63 ~]#firewall-cmd --permanent --add-service=http
[root@xuegod63 ~]#systemctl reload firewalld

2 安装gitlab
下载gitlab的两种方法:
方法1:使用yum下载太慢。直接使用迅雷下载以下链接:
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-13.9.3-ce.0.el7.x86_64.rpm
上传到gitlab-ce-13.9.3-ce.0.el7.x86_64.rpm到linux系统上

[root@xuegod63 ~]# rpm -ivh gitlab-ce-13.9.3-ce.0.el7.x86_64.rpm  #安装

方法2:配置yum源,使用yum安装:

[root@xuegod63 ~]# yum install gitlab-ce -y   #安装太慢。下面使用清华的源:
[root@xuegod63 ~]# cd /etc/yum.repos.d/
[root@xuegod63 yum.repos.d]# vim gitlab-ce.repo   #写入以下内容
[gitlab-ce]  
name=gitlab-ce  
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7  
repo_gpgcheck=0  
gpgcheck=0  
enabled=1  
gpgkey=https://packages.gitlab.com/gpg.key
[root@xuegod63 ~]# yum install gitlab-ce -y

3 配置gitlab访问地址:

[root@xuegod63 ~]# vim /etc/gitlab/gitlab.rb   #修改gitlab外部访问地址

改:32 external_url ‘http://gitlab.example.com’

为:32 external_url ‘http://192.168.1.63’

注:这里必须修改,不然后后期访问时,用户到地址是:http://gitlab.example.com/xxxx ,根本不能访问。 修改后获得是: http://192.168.1.63/xxxx

4 应用新配好的配置并重启GitLab

[root@xuegod63 ~]# gitlab-ctl reconfigure  #重新配置应用程序。修改了gitlab服务配置文件后,都需要执行一下这个命令。
让各个服务的配置文件,重新加载一下配置文件。这里等个2分钟左右。
。。。
Running handlers:
Running handlers complete
Chef Client finished, 2/501 resources updated in 37 seconds
gitlab Reconfigured!
[root@xuegod63 ~]# gitlab-ctl status  #可以使用gitlab-ctl管理gitlab,例如查看gitlab状态:
run: gitlab-workhorse: (pid 3275) 169s; run: log: (pid 3151) 280s
run: logrotate: (pid 3169) 273s; run: log: (pid 3168) 273s
run: nginx: (pid 3157) 279s; run: log: (pid 3156) 279s
run: postgresql: (pid 3009) 349s; run: log: (pid 3008
  • 17
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值