【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

文章目录

        • 前言
        • gitlab的介绍
        • gitlab 和github的区别
        • gitlab的安装
          • 1. 实验环境:
          • 2. 安装和配置必要的依赖项
          • 3. 添加yum源
          • 4. 更新本地yum缓存,并安装
          • 5. 启动服务并从网页端访问
        • 6. 添加组,创建用户和项目
          • 7. 创建组的步骤:
          • 8. 创建项目
          • 9. 创建用户
          • 10. 将用户添加到组
          • 10. 测试
        • 总结

前言

大家好,我是高胜寒,一个在教培行业不忘初心的人,本文是【循序渐进学运维】DevOps工具篇的第4篇文章-【DevOps】centos7下的gitlab介绍与安装

【循序渐进学运维】DevOps工具篇 主要针对的是DevOps常用的工具,比如jenkins,gitlab, docker等工具的结合使用。

gitlab的介绍

gitlab是一个用于仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的web服务

gitlab 和github的区别

  • gitlab和github都是基于git开发的管理代码的软件

  • 官网:
    Github的官网: https://github.com/
    gitlab的官网: https://gitlab.com/users/sign_in

  • github 创建私人项目的时候收费,gitlab新建私人项目不收费

  • gitlab可以内网办公使用,部署在自己的服务器上,适合团队内部开发。 github需要使用公网,容易被恶意攻击者拦截。

gitlab的安装

1. 实验环境:
[root@zmedu-17 ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
[root@zmedu-17 ~]# uname -r
3.10.0-1062.el7.x86_64
[root@zmedu-17 ~]# ifconfig |grep inet
        inet 192.168.1.17  netmask 255.255.255.0  broadcast 192.168.1.255
2. 安装和配置必要的依赖项
[root@zmedu-17 ~]# yum install -y curl policycoreutils-python openssh-server 

启动服务

[root@zmedu-17 ~]# systemctl enable sshd
[root@zmedu-17 ~]# systemctl status sshd
## 一般默认已经安装好并已经启动,要不然你怎么连接过去

设置防火墙

[root@zmedu-17 ~]# firewall-cmd --permanent --add-service=http
success
[root@zmedu-17 ~]# firewall-cmd --permanent --add-service=https
success
[root@zmedu-17 ~]# systemctl reload firewalld
[root@zmedu-17 ~]# 

配置电子邮件,也可以使用外部的SMTP服务器,支持邮件发送
在这里插入图片描述
安装成功:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第1张图片

3. 添加yum源

官网提供的yum源

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
4. 更新本地yum缓存,并安装
[root@zmedu-17 ~]# yum makecache

[root@zmedu-17 ~]# yum install gitlab-ce

如果你的网速特别慢的话,可以会下载失败:

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第2张图片
安装成功会有提示:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第3张图片

5. 启动服务并从网页端访问

修改默认访问端口为82

在这里插入图片描述
在这里插入图片描述
重新加载配置并启动:
[root@ecs-c13b ~]# gitlab-ctl reconfigure ## 重新加载配置

[root@ecs-c13b ~]# gitlab-ctl start
[root@ecs-c13b ~]# 

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第4张图片

网页端访问:

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第5张图片
登陆
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第6张图片

6. 添加组,创建用户和项目

创建组: 一个组里面可以有多个项目分支,可以将开发人员添加到组里面进行设置全向,不同的组就是不同的开发项目或者服务模块。

在不同的组里面添加不同的开发人员或者说用户,就可以实现对开发设置权限的管理。

7. 创建组的步骤:

选择 create a group
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第7张图片
创建组的名字
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第8张图片

组创建完成: 【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第9张图片

8. 创建项目

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第10张图片

项目的名字叫zmedu_web
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第11张图片
点击project后可以看到创建的项目

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第12张图片

回到我们的组的位置,会看到项目已经在我们的组下面了:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第13张图片

9. 创建用户

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第14张图片
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第15张图片

选择new user
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第16张图片

创建用户:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第17张图片
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第18张图片

设置密码
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第19张图片
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第20张图片

10. 将用户添加到组

回到组的目录下,选择members
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第21张图片

选择要添加的用户:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第22张图片

选择 a role permission

这里一共有五种角色:

  • guest: 可以创建issue, 发表评论,不能读写版本库
  • reporter: 可以克隆代码不能提交,QA,PM可以赋予这个权限
  • Developer 可以克隆代码,开发,提交,push, 普通开发可以授予这个权限
  • maintainer: 可以创建项目,添加tag,保护分支,添加项目成员,编辑项目,核心开发可以赋予这个权限。
  • owner: (最高权限)可以设置项目访问权限,删除项目,迁移项目,管理组成员,开发组组长可以授予这个权限

给gaosh owner权限:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第23张图片

可以看到现在已经有了两个owner权限的用户
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第24张图片

10. 测试

我们现在退出当前用户,登陆gaosh用户进行测试
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第25张图片
登陆gaosh测试

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第26张图片

登陆后要求修改密码:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第27张图片

重新登陆

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第28张图片

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装_第29张图片

说明gaosh用户设置成功

总结

本文我们主要讨论了gitlab的介绍,搭建以及使用,后期 我们会结合Jenkins来一起使用。实现最终的CI/CD。

我是高胜寒,一个在教培行业不忘初心的人。欢迎点赞收藏,我们下篇文章再见。

你可能感兴趣的:(#,gitlab,gitlab的搭建,jenkins,gitlab,自动化框架)