欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-08 12:16:57
...

前言

大家好,我是高胜寒,一个在教培行业不忘初心的人,本文是【循序渐进学运维】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. 实验环境:
[aaa@qq.com ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
[aaa@qq.com ~]# uname -r
3.10.0-1062.el7.x86_64
[aaa@qq.com ~]# ifconfig |grep inet
        inet 192.168.1.17  netmask 255.255.255.0  broadcast 192.168.1.255
2. 安装和配置必要的依赖项
[aaa@qq.com ~]# yum install -y curl policycoreutils-python openssh-server 

启动服务

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

设置防火墙

[aaa@qq.com ~]# firewall-cmd --permanent --add-service=http
success
[aaa@qq.com ~]# firewall-cmd --permanent --add-service=https
success
[aaa@qq.com ~]# systemctl reload firewalld
[aaa@qq.com ~]# 

配置电子邮件,也可以使用外部的SMTP服务器,支持邮件发送
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
安装成功:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

3. 添加yum源

官网提供的yum源

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

[aaa@qq.com ~]# yum install gitlab-ce

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

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
安装成功会有提示:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

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

修改默认访问端口为82

【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
重新加载配置并启动:
[aaa@qq.com ~]# gitlab-ctl reconfigure ## 重新加载配置

[aaa@qq.com ~]# gitlab-ctl start
[aaa@qq.com ~]# 

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

网页端访问:

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

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

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

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

7. 创建组的步骤:

选择 create a group
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
创建组的名字
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

组创建完成: 【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

8. 创建项目

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

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

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

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

9. 创建用户

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

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

创建用户:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

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

10. 将用户添加到组

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

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

选择 a role permission

这里一共有五种角色:

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

给gaosh owner权限:
【DevOps】centos7 下的 gitlab托管服务器的介绍与安装

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

10. 测试

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

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

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

重新登陆

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

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

说明gaosh用户设置成功

总结

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

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