GitLab的安装及使用教程(超级详细)
原创GitLab基本介绍
GitLab是利用Ruby on Rails实现自托管的开放源代码版本管理系统Git项目仓库,可用Web访问公共或私人项目的接口。
与Github类似,GitLab能够浏览源代码,管理缺陷和评论。可以管理团队对存储库的访问,很容易浏览提交的版本并提供文件历史库。团队成员可以利用简单的内置聊天程序(Wall)沟通。
它还提供了一个代码片段收集功能,可以在需要时方便地重用代码以供将来查找。
本教程将教您如何安装和部署GitLab。
Git家庭成员
Git :是版本控制系统、命令和工具。
Gitlib :用于实施Git功能开发库。
Github :基于Git实现在线代码托管存储库,包括向互联网开放的网站界面。
GitLab :基于Git在线代码仓库托管软件的实现,您可以使用。gitlab给自己打造一个类似的Github同样的系统通常用于构建企业和学校等内部网络。git私服。
Gitlab服务的组成
Nginx :静态web服务器。
gitlab-shell :用于处理Git命令和修改authorized keys列表。
gitlab-workhorse : 轻型反向代理服务器。
logrotate 日志文件管理工具。
postgresql :数据库。
redis :缓存数据库。
sidekiq 用于在后台执行队列任务(异步执行)。
unicorn :An HTTP server for Rack applications,GitLab Rails应用程序托管在此服务器上。
GitLab工作流程
GitLab Shell
GitLab Shell有两个角色:GitLab处理Git命令,修改authorized keys列表。
当通过SSH访问GitLab Server时,GitLab Shell会:
- 限制预定义商品的执行Git命令(git push, git pull, git annex)
- 调用GitLab Rails API 检查权限
- 执行pre-receive钩子(在GitLab企业版称为Git钩子)
- 执行您请求的操作 处理GitLab的post-receive动作
- 句柄自定义post-receive动作
当通过http(s)访问GitLab Server工作流取决于您来自何方。Git仓库拉取(pull)代码或git仓库推送(push)代码。
如果您来自Git仓库拉取(pull)代码,GitLab Rails应用程序将全权负责处理用户身份验证和执行Git有序工作;
如果你是Git仓库推送(push)代码,GitLab Rails应用程序既不会执行用户身份验证,也不会执行Git命令,它将移交以下内容GitLab Shell处理:
- 调用GitLab Rails API 检查权限
- 执行pre-receive钩子(在GitLab企业版称为Git钩子)
- 执行您请求的操作
- 处理GitLab的post-receive动作
- 句柄自定义post-receive动作
GitLab Workhorse
GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,Git push/pull和Git软件包下载。其他请求被反向代理GitLab Rails应用程序,即后端的反向代理unicorn。
Gitlab环境部署
ECS配置要求: 内存2G以上
方法1:镜像部署
点击购买,免费GitLab全套环境图像。(单击查看: 镜像帮助文档 )
GitLab代码管理(Centos 64位 | GitLab)
转到图像详细信息页面,单击立即购买,然后按照提示步骤购买 ECS 实例。
购买完成后,登录“ ECS 管理控制台 ”,在左侧导航栏中,单击 实例 ”,进入 ECS 实例列表页,选择所购 ECS 实例所在的地区,并查找购买的 ECS 实例,在“ IP 地址 “获取实例的公共网络的列 IP 地址。
注意:部署镜像后,默认情况下禁止远程访问,因此直接访问ECS服务器的公共网络IP无法访问GitLab请运行登录界面/alidata 目录下的 gitlab_opennet.sh编写脚本,打开远程访问,然后通过浏览器访问公共网络。IP来访问GitLab的主页。
方法2:手动部署:
1、配置yum源
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key
2更新本地yum缓存
sudo yum makecache
3、安装GitLab社区版
sudo yum install gitlab-ce #自动安装最新版本
sudo yum install gitlab-ce-x.x.x #安装指定的版本
GitLab常用命令
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 检查服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 检查日志;
GitLab使用
登录GitLab
1在浏览器的地址栏中,输入ECS服务器的公共网络IP即可登录GitLab用于首次登录的用户名和密码如下 root 和 5iveL!fe。
2第一次登录将强制用户更改密码。成功修改密码后,输入新密码以登录。
创建Project
1、安装Git工具linux:安装Git,使用安装附带的源代码。
yum install git
2生成密钥文件:使用 ssh-keygen 生成密钥文件.ssh/id_rsa.pub。
3.在GitLab在中创建新主页Project
4.添加ssh key导入步骤2生成的密钥文件的内容:
ssh key添加完成:
正在进行的项目地址clone需要使用的操作:
简单配置
1,配置用法Git仓库人员姓名(以云端上海为例)
git config --global user.name "上海驻云"
git config --global user.email "support@jiagouyun.com"
git clone git@iZbp1h7fx16gkr9u4gk8v3Z:root/test.git
上传文件
1,输入项目目录
cd test/
echo “test” > /root/test.sh
cp /root/test.sh ./
4、将test.sh添加到索引的文件
git add test.sh
git commit -m “test.sh”
git push -u origin master
7,查看上传的test.sh文件已同步GitLab中
操作详细记录
目录
1.基本操作
1.登录:
2.要更改密码:
2.项目管理
1.新建项目
2.编辑或删除项目
3.用户管理(由管理员使用,非管理员跳过此步骤)
1.新建用户
2.编辑和删除用户
4.组管理(由管理员使用,非管理员跳过此步骤)
1.新建组
2.编辑或删除组
3.添加组成员
4.修改成员的权限(owner用户操作)
5.从组管理添加项目
5.权限描述
1.基本操作
1.登录:
在浏览器地址栏中输入 http://10.6.2.160/ 输入以进入着陆界面。
在上面的红框区域中登录您的帐户密码。
2.要更改密码:
成功登录后,单击左侧工具列Profile Settings ------ Password -------修改密码-------Save password。
Tips:
点击GitLab的logo,您可以从任何界面返回此页面。
2.项目管理
您可以根据需要选择新项目、新组合和新用户。
1.新建项目
创建一个新项目,如下图所示:
创建时,您可以选择在自己的用户或组内创建。
a. 项目名称,可以是一组字母、数字、空格、下划线、中文行和英文句点。
并它必须以字母或数字开头,不能使用中文。
b. 项目描述
c.可见性(库类别)
私有库:仅对被授予权限的用户可见
内部库:登录用户可以下载
公共图书馆:每个人都可以下载
根据实际情况填写项目后,单击“创建项目”,项目创建成功。
提示通过SSH必须导入推拉项目代码。SSH key这将在稍后介绍。
项目地址为HTTP和SSH两种方式-------可以发送给开发人员下载和初始化项目
2.编辑或删除项目
主页左侧菜单栏--------Project
右上角的齿轮状按钮--------编辑项目
删除右下角的项目。
或者点击Admin Area
3.用户管理(由管理员使用,非管理员跳过此步骤)
1.新建用户
单击顶部Admin Area按钮
可以进入管理页面
-
姓名(可以是中文)
-
用户名(可以为字母、数字、空格、下划线、中划线和英文点号组并它必须以字母或数字开头,不能使用中文。)
-
电子邮件地址(第一个接收密码)
-
待建项目数量限制
-
是否可以创建组
-
管理员是否
-
可选内容(个人联系信息)
2.编辑和删除用户
4.组管理(由管理员使用,非管理员跳过此步骤)
1.新建组
菜单栏Group------New Group
1). 组名,可以由字母、数字、空格、下划线、连字符和句点组成,
它必须以字母或数字开头,不能使用中文。
2). 组详情
2.编辑或删除组
在此页面中,您可以编辑和删除组
3.添加组成员
添加组用户并授予他们适当的权限。
4.修改成员的权限(owner用户操作)
单击左侧Groups然后单击该组。
然后单击左侧Members菜单项。
修改要修改的用户的权限和save
5.从组管理添加项目
从组中添加项目无需添加项目用户,因此我们选择从组中删除项目。
点击左侧Group然后单击齿轮按钮。
然后点击Project,接着点New Project
按照步骤填写最后一次单击Create Project创建项目。
此时,组成员可以看到项目已创建。
5.权限描述
Guest(匿名用户) - 创建项目,撰写留言簿
Reporter(记者)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码片
段
Developer(开发商)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码
分段,创建合并请求,创建新分支,推送未受保护的分支,删除未受保护分支
支 ,创建标签,写入wiki
Master(经理)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码片
分段,创建合并请求,创建新分支,推送未受保护的分支,删除未受保护分支
支 ,创建标签,写入wiki,添加团队成员,推送受保护的分支,删除受保护的
分支,编辑项目,添加部署密钥,配置项目挂钩
Owner(业主)- 创建项目,撰写留言簿、拉项目、下载项目、创建代码片
分段,创建合并请求,创建新分支,推送未受保护的分支,删除未受保护分支
支 ,创建标签,写入wiki,添加团队成员,推送受保护的分支,删除受保护的
分支,编辑项目,添加部署密钥,配置项目挂钩、开关公有模式、将项目转
移动到另一个命名空间,删除项目
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除