Gitlab和gibhub的区别:
GitHub作为开源代码库及版本控制系统,拥有超过900万的开发者用户,目前仍然是最火的开源项目托管系统。GitHub同时提供公共仓库和私有仓库,但如果要使用私有仓库,是需要付费的。
而GitLab解决了这个问题,你可以在上面创建私人的免费仓库。
GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:
允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。
从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。
操作系统:Ubunto 18.04
首先打开命令行,安装GitLab包
输入如下指令
sudo apt-get install gitlab-ee
下载完成后,执行命令
sudo gitlab-ctl reconfigure
出现下图就是安装完成!
安装完成
2.配置gitlab
执行sudo gitlab-ctl start
效果如下
Gitlab服务器启动成功
编辑gitlab.rb文件
sudo vim /etc/gitlab/gitlab.rb
将如下数据进行更改
external_url 'http://gitlab.example.com'
比如说更改为
external_url 'http://192.168.1.188:8001
其中,192.168.1.188是安装了gitlab的这台电脑的IP,端口只要不冲突就行
更改之后,需要执行如下代码
sudo gitlab-ctl reconfigure
最后,在浏览器中访问gitlab,发现已修改成功,需要使用192.168.1.188:8001来访问
浏览器直接输入gitlab服务器ip,如果没有修改端口号,那么默认采用80端口
第一次进入,需要输入管理员账号的密码,以方便后期的管理。
修改密码
输入好之后,就可以用管理员进行登录,账号是root,密码就是你刚才输入的密码
登录后界面如下
gitlab欢迎界面
右上角点击头像右侧的 --> setting(设置) ------ 在左侧菜单栏找到Password(密码) -------修改密码-------Save password(保存密码)。
Tips:点击GitLab的logo,可以从任何界面回到本页
右上角点击头像右侧的 --> setting -->右侧主要设置里找到
鉴于用户的账号采用统一分配的策略,那么需要取消用户的注册功能,账号由管理员分配
管理中心
如图所示,注册功能已经被屏蔽掉了
没有注册功能的登录界面
点击上方的admin area(扳手),进入管理中心
项目,用户,组
这三个部分相信用过svn的朋友们都清楚是什么了.
点击new project来新建项目
新建项目的配置界面
创建时可以选择在自己用户下创建或者某个群组内创建
成,且必须以字母或数字开头,不能使用中文
私有库:只有被赋予权限的用户可见
内部库:登录用户可以下载
公开库:所有人可以下载
项目创建成功
点击上方扳手,在主页左边菜单栏-------->点击Project(项目)
选择相应项目点击右侧的edit进行编辑
点击顶端的Admin Area(扳手)按钮
可以进入管理页面,点击new User 按钮
新建用户的信息如下:
左侧菜单栏点击用户即显示如下界面,
编辑和删除用户界面
菜单栏Group------>New Group
新建组入口
新建组界面
点击左侧菜单栏group(组)-->点击右侧的编辑按钮进行编辑
编辑完成后点击保存即可
点击左侧群组-->点击组名,效果如下
添加成员入口
添加用户界面
1.选择要添加的用户
2.选择赋予他的权限
点击左侧的Groups,然后点击当前的组。
点击管理权限
修改用户权限入口
修改想要修改的用户的权限
修改用户权限
Guest(匿名用户) - 创建项目、写留言薄
Reporter(报告人)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段
Developer(开发者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分支 、创建标签、编写wiki
Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分
支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护
的分支、编辑项目、添加部署密钥、配置项目钩子
Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分
支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护
的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转
移到另一个名称空间、删除项目