GitLab企业级代码管理仓库

  • 使用GitHub或者码云等公共代码仓库
  • 使用GitLab私有仓库

 GitLab是什么?linux

是一个用于仓库管理系统的开源项目,使用Git做为代码管理工具,并在此基础上搭建起来的web服务。基础功能免费,高级功能收费。git

为何要使用GitLab?程序员

基础功能开源,可自行搭建 
能够进行权限控制,使得代码对部分人可见 
gitlab使用方便web

官方安装文档:https://about.gitlab.com/installation/#centos-7centos

GitLab国内源下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/浏览器

在Git02上装GitLab服务器

初始环境ssh

主机名工具

IPgitlab

备注

Git01

10.1.1.128

Git客户端

Git02

10.1.1.129

GitLab服务器

安装GitLab

利用yum安装本地指定的rpm包,好处是自动解决依赖问题

初始化GitLab,只须要执行一次

查看GitLab启动状态

查看GitLab版本号

在宿主机输入http:/IP就能够访问了,并给管理员用户设定密码

最少8位

登陆管理员帐号:root       密码:66666666

登录后,就能够选择以下功能使用了

GitLab中文社区版补丁包安装

备份英文版GitLab

将中文补丁包的内容覆盖英文版

从新配置GitLab

从新启动GitLab

从新刷新浏览器访问GitLab

使用GitLab

建立一个新项目

修改GitLab配置文件/etc/gitlab/gitlab.rb

咱们须要修改GitLab的默认访问域名(由于咱们是在内网搭建的GitLab),GitLab的默认监听端口是80,可是在企业中这个端口常常被别的服务占用,因此还须要更换端口号

修改后的两行内容

从新配置GitLab

从新启动GitLab

从新访问浏览器http://10.1.1.129:8888

 

 

 

 

尝试将本地仓库代码推送到私有GitLab

在Git01客户端上作

 

刷新浏览器

推送本地仓库标签v1.0到远程仓库GitLab上

尝试在本地仓库克隆GitLab的项目v1.0标签到本地仓库

推送本地仓库linux分支到远程仓库GitLab上

 

 

克隆远程仓库GitLab的linux分支

克隆的时候加参数-b指定你要克隆的分支  不指定默认克隆的是master分支

配置GitLab的ssh秘钥链接方式

在Git01上生成秘钥对

将公钥的内容复制到GitLab上

在浏览器端打开GitLab

添加成功

利用ssh方式克隆GitLab上的一个项目

 

配置GitLab邮件服务

配置邮箱服务的用途:1,有合并请求时,邮件通知  2,帐户注册时,邮件验证   3,修改密码时,经过邮件修改

配置步骤:开启qq邮箱的smtp服务,修改gitlab配置,测试邮件服务是否正常

开启GitLab服务的postfix服务并开启qq邮箱的smtp服务

修改GitLab配置文件/etc/gitlab/gitlab.rb

修改为以下

从新加载GitLab配置文件

从新启动GitLab

进入GitLab控制台进行邮件发送测试

开启GitLab控制台

GitLab的帐号注册及分组

帐号注册测试

 

咱们在注册的时候,邮箱乱写能注册并登录,显然在企业是绝对不容许的

开启GitLab邮箱验证功能

从新登录管理员用户root,密码66666666,进行以下操做

退出时别忘了保存修改的设置以下图

而后退出管理员的登陆,进行从新注册

 

 

 

由上图发现,此时注册用户,已经进不去GitLab了,这是由于GitLab已经自动发了一封邮件给注册用户的邮箱,须要用户进行邮件确认后,方可登陆。

 

 

 建立一个项目组

 

 

给组添加成员并受权

 

  • Guest访客: 
    • 只能发表评论,不能读写项目库
  • Reporter报告者: 
    • 只能克隆代码(读),不能提交代码(修改)(产品测试)
  • Developer开发人员: 
    • 能够进行代码的读写(普通程序员)
  • Master主程序员: 
    • 能够添加项目成员,添加标签,建立和保护分支(产品经理)
  • Owner全部者: 
    • 拥有全部权限(通常不用此权限)

 

 

添加权限成功后,GitLab会自动邮件通知这个用户

 给项目组建立一个新项目

 

 

进行组成员的项目提交和克隆测试

再建立一个普通程序员(开发人员)的帐号

 测试克隆GitLab到本地仓库

测试将本地仓库master分支的改变推到GitLab上

测试结果推送失败,由于开发人员没有这个权限,开发人员没有权限修改GitLab上master分支

 

测试提交除master的分支到GitLab

说明:普通的开发人员没有权限修改master分支的代码,可是他能够任意建立本身的分支,不能提交到GitLab更不能合并了,在本地仓库能够合并,可是本地仓库合并完了并不能修改master,没有做用,真正的仓库合并,是要在web界面合并的,也就是说在GitLab上的版本合并才是真正的合并,本地合并只是本地的,本地合并完了是推不到master的,推不到就没用。只有主程序员才能够本地合并推到GitLab进行版本合并。

相关文章
相关标签/搜索