GitLab私服使用说明v1.0
1-GitLab介绍
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。安装方法是参考GitLab在GitHub上的Wiki页面。
GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。
GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用Ruby语言写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。
GitLab是整个DevOps生命周期的第一个应用程序。其使用与GitHub类似,并且提供了许多DevOps相关的功能。GitLab提供无与伦比的可见性,更高的效率和全面的治理。这使得软件生命周期加快了200%,从根本上提高了业务速度。
官方网站:https://about.gitlab.com/
2-Git,GitHub与GitLab的区别
-
Git是一种版本控制系统,是一种工具,用于代码的存储和版本控制。
-
GitHub是一个基于Git实现的在线代码仓库,是目前全球最大的代码托管平台,可以帮助程序员之间互相交流和学习。
-
GitLab是一个基于Git实现的在线代码仓库软件,你可以用GitLab自己搭建一个类似于GitHub一样的仓库,但是GitLab有完善的管理界面和权限控制,一般用于在企业、学校等内部网络搭建Git私服。
-
GitHub和GiLlab两个都是基于Web的Git远程仓库,它们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。从代码的私有性上来看,GitLab 是一个更好的选择。但是对于开源项目而言,GitHub 依然是代码托管的首选。
3-GitLab私服安装
前提:
使用docker-compose.yml脚本的方式安装gitlab,所以要确保服务器上已经安装好了docker及docker-compose环境
第一步,在服务器上根目录下创建一个gitlab文件夹
mkdir gitlab
第二步,进入gitlab文件夹中,并创建docker-compose.yml文件
cd gitlab
编写docker-compose.yml文件内容
version: '3'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:11.1.4'
container_name: "gitlab"
restart: unless-stopped
privileged: true
hostname: 'gitlab'
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.200.104'
gitlab_rails['time_zone'] = 'Asia/Shanghai'
gitlab_rails['gitlab_shell_ssh_port'] = 2224
ports:
- '80:80'
- '443:443'
- '2224:22'
volumes:
- /opt/gitlab/config:/etc/gitlab
- /opt/gitlab/data:/var/opt/gitlab
- /opt/gitlab/logs:/var/log/gitlab
external_url 是我们要访问的gitlab的地址,端口号是80,注意,external_url中的地址要改成安装gitlab的服务器地址
gitlab_rails['gitlab_shell_ssh_port'] 对应的端口号2224 是ssh连接的端口号
第三步,创建相关目录
#批量创建目录
mkdir /opt/gitlab/{config,data,logs} -p
#查看创建的目录
ls -l /opt/gitlab/
总用量 8
drwxrwxr-x. 3 root root 239 2月 28 17:03 config
drwxr-xr-x. 20 root root 4096 2月 28 17:05 data
drwxr-xr-x. 20 chrony root 4096 2月 28 17:05 logs
第四步,在gitlab目录下执行docker-compose命令去生成和启动gitlab容器
cd gitlab/
docker-compose up -d
第五步,查看docker容器
docker ps
第六步,gitlab管理界面
账号:root
密码:首次登陆设置
修改密码:12345678
4-GitLab私服的使用
4-1-创建组及组权限配置
在GitLab组相当于团队,在项目开发过程中,每个组有不同的组员和对应的不同的子项目,对项目组用户开放项目的访问。
在GitLab首页选择Create a Group,进入创建页面,输入群组名称,群组URL,群组描述,同时还需选择可见性级别,其相当于设置组权限。
在可见性级别中包含三种:
-
私有:群组及其项目只能由成员查看
-
内部:任何登录的用户都可以查看该群组和任何内部项目
-
公开:不进行身份验证,可以随意查看。
第一步,点击主页上创建一个群组
第二步,填写群组信息
第三步,创建群组
4-2-创建用户及用户权限配置
创建用户
组有了之后,还需要向组内添加项目组成员。
第一步,点击设置,选择用户菜单
第二步,点击用户,目前显示只有管理员自己
第三步,新建用户,会进入到添加用户页面,需要输入Name、Username、和Email。最后点击create user即可。
第四步,接着以管理员身份,重新进入到成员列表页面,此时已经可以看到新增了一个 李四用户。接着点击 编辑,设置该用户的登录密码。
密码修改为:12345678
用户进组,及用户权限指定
现在有了组和用户后,可以将指定用户添加到组中。
当进入到组的详情页面中之后,即可将指定用户添加到组中。首先需要先确定当前被操作的用户。接着需要指定当前用户的身份权限。
身份对应权限,总共有五个选项,分别为:
-
访客:可以创建issue、发表评论,不能读写版本库
-
报告者:可以克隆代码,不能提交,QA、PM可以赋予这个权限
-
开发人员:可以克隆代码、开发、提交、push,RD可以赋予这个权限
-
主程序员:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
-
所有者:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
可以根据实际人员情况,进行人员角色权限分配。此处选择 开发人员
增加用户到群组中
4-3-创建项目
GitLab核心作用是作为代码仓库,因为它可以像GitHub一样进行代码托管。首先需要创建好项目,然后把项目指派该开发组。
当进入到新建项目页面,GitLab提供了三种创建方式:空白项目、从模板创建、导入项目。此处使用 空白项目 。对于权限仍然是三个,与组权限相同。
当创建成功,即可进入到项目页面。
并且此时,进入到项目组详情页面,可以看到该项目组已经关联了一个项目
5-IDEA集成GitLab
5-1-idea集成Git配置
5-2-提交代码到GitLab私服仓库中
初始化本地仓库
添加项目到本地暂存区
push代码到远程仓库
点击commit Directory
点击commit&push
==注意:第一次的话,需要提示书写GitLab的登录用户名和密码==
查看GitLab仓库中的代码片段