Gitlab初步指南
概念
Gitlab和gibhub的区别:
GitHub作为开源代码库及版本控制系统,拥有超过900万的开发者用户,目前仍然是最火的开源项目托管系统。GitHub同时提供公共仓库和私有仓库,但如果要使用私有仓库,是需要付费的。
而GitLab解决了这个问题,你可以在上面创建私人的免费仓库。
GitLab让开发团队对他们的代码仓库拥有更多的控制,相比于GitHub,它有不少的特色:
允许免费设置仓库权限;允许用户选择分享一个project的部分代码;允许用户设置project的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过innersourcing让不在权限范围内的人访问不到该资源。
从代码私有性方面来看,有时公司并不希望员工获取到全部的代码,这个时候GitLab无疑是更好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。
个人觉得gitLab用的顺手一些,可能是用的多一点的关系吧!
搭建gitlab服务器
参考官方文档:https://about.gitlab.com/install/#ubuntu
Ubunto 18.04版本搭建服务器
首先打开命令行
- 更新源
更新源,第一次更新出了问题无法更新源,百度了下解决问题,重新执行命令就好了
这个链接留着以后再次执行更新命令依旧出错用http://dockone.io/article/366
- 电子邮件验证
接下来,安装Postfix以发送通知电子邮件。如果要使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器。
输入命令:
sudo apt-get install -y postfix
安装完成后会出现 一个选择网络界面
先用tab切到确定,点回车,然后因为是内网,所以选择no configuration ,注意这是dos的环境,所以选择用tab或方向键切换,而不是鼠标去点
- 安装GitLab包。
执行如下命令
没有可用软件包 gitlab-ce 怎么办?
现在gitlab 区分 gitlab-ee gitlab-ce 分别是企业版和社区版,两者如果不激活企业版功能应该是一样的,官方现在默认推的是gitlab-ee,安装gitlab-ee就行
执行
sudo apt-get install gitlab-ee
下载的很慢,可以使用清华大学的国内镜像https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/,但是本机操作系统是18.04的,没有找到匹配的操作系统版本,就没有使用镜像
- 配置gitlab
时间大概4分20秒左右
执行命令sudo gitlab-ctl reconfigure
出现下图就是配置完成!
5.启动gitlab
执行sudo gitlab-ctl start
- 访问gitlab,注册账号
浏览器直接输入localhost,默认80端口,
(如果端口被占用,参考 https://blog.csdn.net/EthanCo/article/details/82828097 扩展那部分)
第一次进入,需要输入管理员账号的密码,以方便后期的管理。
输入好之后,就可以以管理员进行登录,账号是root,密码就是你刚才输入的密码
账号是 root
密码是pass1word
登录后界面如下
如何使用gitlab
参考:https://blog.csdn.net/justlpf/article/details/80681853
https://www.cnblogs.com/zangxueyuan/p/9222014.html
- 基本操作
1.登录:
浏览器地址输入gitlab所在ip地址/users/sign_in(默认80端口),回车访问
输入用户名密码(注册的)
登录成功
- 修改密码/密码:
A.修改密码
登录成功后点击左侧工具栏目Profile Settings ------ Password -------修改密码-------Save password。
Tips:点击GitLab的logo,可以从任何界面回到本页
B.修改语言
右上角点击头像右侧的 --> setting -->
找到
选择简体中文,点最下面,然后刷新页面.
取消用户的注册功能,网页上不再有用户注册入口,只能由管理员分配用户:
https://blog.csdn.net/ouyang_peng/article/details/78562125
二、项目管理
1.新建项目
点击上方的扳手进入管理中心
这三个部分相信用过svn的朋友们都清楚是什么了
点击new project来新建项目
创建时可以选择在自己用户下创建或者某个群组内创建
a. 项目名称,项目名称可以为字母、数字、空格、下划线、中划线和英文点号组
成,且必须以字母或数字开头,不能使用中文
b. 项目描述
c.可见性(库类别)
私有库:只有被赋予权限的用户可见
内部库:登录用户可以下载
公开库:所有人可以下载
根据实际情况填写完各项之后,点击创建项目,项目创建成功
2.编辑或删除项目
点击上方扳手,在主页左边菜单栏--------Project
选择相应项目点击右侧的edit进行编辑
三、用户管理(管理员使用,非管理员跳过此步骤)
1.新建用户
点击顶端的Admin Area按钮
可以进入管理页面
1) 姓名(可以是中文)
2) 用户名(可以为字母、数字、空格、下划线、中划线和英文点号组成,且必须以字母或数字开头,不能使用中文)
3) 邮箱地址(首次接收密码)
4) 建项目的数量限制
5) 是否可以创建组
6) 是否是管理员
7) 选填内容(个人联系方式)
四、组管理(管理员使用,非管理员跳过此步骤)
1.新建组
菜单栏Group------New Group
1). 组名称,组名称可以为字母、数字、空格、下划线、中划线和英文点号组成,
且必须以字母或数字开头,不能使用中文
2). 组详情
在此页面可以编辑和删除组
添加组用户并赋予相应的权限。
点击左侧的Groups,然后点击当然的组。
然后点击左侧Members菜单进入。
修改想要修改的用户的权限并save
五、权限说明(角色-权限)
Guest(匿名用户) - 创建项目、写留言薄
Reporter(报告人)- 创建项目、写留言薄、拉项目、下载项目、创建代码片
段
Developer(开发者)- 创建项目、写留言薄、拉项目、下载项目、创建代码
片段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分
支 、创建标签、编写wiki
Master(管理者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片
段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分
支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护
的分支、编辑项目、添加部署密钥、配置项目钩子
Owner(所有者)- 创建项目、写留言薄、拉项目、下载项目、创建代码片
段、创建合并请求、创建新分支、推送不受保护的分支、移除不受保护的分
支 、创建标签、编写wiki、增加团队成员、推送受保护的分支、移除受保护
的分支、编辑项目、添加部署密钥、配置项目钩子、开关公有模式、将项目转
移到另一个名称空间、删除项目
主要问题:
Vmware网段问题:
该ubuntu虚拟机ip通过ipconfig即可知晓,而不是你一开始登录的vmware的ip
通过sourcetree获取分支
Ssh密钥设置了,但是暂时没用上