gitlab 安装和基本介绍

一 安装gitlab

1 环境简介


官方相关介绍:

硬件要求
. 存储
必要的硬盘空间在很大程度上取决于您想要存储在GitLab中的存储库的大小,但根据经验,您应该至少拥有与您的所有存储库合并占用的空闲空间。
如果您希望将来灵活扩展硬盘空间,请考虑使用LVM进行安装,以便在需要时添加更多硬盘。
除了本地硬盘驱动器,您还可以安装支持网络文件系统(NFS)协议的卷。此卷可能位于文件服务器,网络连接存储(NAS)设备,存储区域网络(SAN)或Amazon Web Services(AWS)弹性块存储(EBS)卷上。
如果你有足够的RAM内存和最近的CPU,GitLab的速度主要受硬盘寻道时间的限制。快速驱动(7200 RPM及以上)或固态驱动器(SSD)将提高GitLab的响应能力。

. 中央处理器

? 1个核心最多支持100个用户,但由于所有工作和后台作业都在同一个核心上运行,因此应用程序可能会慢一点
? 2核是建议的核心数,最多支持500个用户
? 4个核心最多可支持2,000个用户
? 8个核心最多支持5,000个用户
? 16个内核最多可支持10,000个用户
? 32个核心最多可支持20,000个用户
? 64个内核最多可支持40,000个用户

. 内存

至少8GB可寻址内存来安装gitlab,在运行gitlab之前,至少需要4GB可用空间,

建议至少有2BG交换,建议将内核的swappiness 设置为较低水平10 足以
vim /etc/sysctl.conf
vm.swappiness = 10

. 数据库

运行数据库服务器至少要有5-10GB的可存储空间,但具体要求取决于gitlab安装的大小

强烈支持使用postgresql

Mysql/mariadb(不支持所有的gitlab功能)

Postgresql 要求

从GitLab 10.0开始,需要PostgreSQL 9.6或更高版本,并且不支持早期版本。我们强烈建议用户使用PostgreSQL 9.6,因为这是用于开发和测试的PostgreSQL版本。
使用PostgreSQL的用户必须确保将pg_trgm扩展加载到每个GitLab数据库中。可以通过对每个数据库运行以下查询来启用此扩展(使用PostgreSQL超级用户):
CREATE EXTENSION pg_trgm;
在某些系统上,您可能需要安装额外的软件包(例如?postgresql-contrib)以使此扩展可用。

. Gitlab geo 要求

如果您使用的是GitLab Geo,则跟踪数据库也需要postgres_fdw扩展名。
CREATE EXTENSION postgres_fdw;

. Unicorn

可以增加unicorn worker 的数量,有助于减少应用程序的响应时间并提高处理并行请求的能力

对于大多数情况,建议使用:CPU核心+1=unicorn worker

对于所有2GB及以上的机器,建议至少有3个,如果是1GB建议使用两个

. redis和 sidekiq
Redis 存储所有用户会话和后台任务队列,redis的存储要求很低,每个用户大约25KB,sidekiq使用多线程进程处理后台作业,此过程从整个redis堆栈(200M+)开始,但由于内存泄露,他可能会随着时间的推移而增长,在非常活跃的服务器上,sidekiq进程可以使用1GB+内存

. Prometheus 及相关,使用默认设置,这些进程将消耗大概200M内存

2 安装相关依赖

yum install -y vim lrzsz wget gcc gcc-c++ make makeconf cmake

yum -y install readline readline-devel ncurses-devel gdbm-devel glibc-devel tcl-devel openssl-devel curl-devel expat-devel db4-devel byacc sqlite-devel libyaml libyaml-devel libffi libffi-devel libxml2 libxml2-devel libxslt libxslt-devel libicu libicu-devel system-config-firewall-tui redis sudo wget crontabs logwatch logrotate perl-Time-HiRes git cmake libcom_err-devel.i686 libcom_err-devel.x86_64 nodejs cmake libicu-devel libicu openssl openssl-devel

3 下载并配置yum源

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

4 安装软件

yum install gitlab-ce-11.0.6-ce.0.el7.x86_64


5 配置相关参数 URL 访问地址配置



6 配置访问相关解析


7 更新gitlab 配置

更新前需保证80端口未被占用,否则不能启动,因为其中的nginx代理默认启动的是80端口,若需更改,则需要在/etc/gitlab/gitlab.rb 中配置相关的nginx配置,切记,不能配置8080,因为8080已被gitlab内部配置默认占用unicorn master(此处也可改变),如果改成其他端口,则URL应写成server10.com:8060即可访问gitlab


查看是否成功

查看服务状态

8 登录和基本语言配置

登录修改root密码

通过root用户名和修改后的密码进行登录测试

设置环境为简体中文


保存并更新配置

查看

二 gitlab配置文件介绍及插件介绍

1 配置文件介绍

1 主配置文件介绍

其中包含所有的主配置的情况,组件的配置,其配置后需要进行reconfigure 进行生效配置并重启方可生效,其生效后的结果在各组件目录中可以看到

2 主目录


3 各个组件目录

4 放置日志文件

2 插件介绍


1 repository: 代码库,可以是硬盘或NFS文件系统
2 NGINX: web 入口
3 数据库:包含信息
Repository 中的数据(元数据,issue,合并请求merge request等)
可以登录的web用户信息
4 Redis 缓存 ,负责分发信息
5 sidekq: 后台任务,主要负责发送电子邮件,任务来自与redis
6 unicorn (gitlab rails):gitlab自身的web,包含了gitlab主进程,负责处理快速/一般任务,与redis一起工作,内容有
A 通过检查存储在redis中的用户来检查权限
B 为sidekiq 制作任务
C 从仓库(warehouse) 取东西或在哪里移动东西

7 gitlab-shell:用于SSH交互,而不是http,gitlab-shell 通过redis与sidekiq 进行通信,并直接通过TCP访问unicorn

8 gitaly: 后台服务,专门负责访问磁盘以高效处理git,并处理缓存耗时操作,所有的git操作都通过gitaly 进行处理

9 gitlab-workshorse: 反向代理服务器,可以处理与redis无关的请求,磁盘上的CSS,JS 文件等),处理git push/pull 请求,处理redis的链接(修改有redis发送的响应或发送给redis请求,管理redis的长期web socket链接)

10 mail_room: 处理邮件请求,恢复gitlab发送的邮件时,gitlab会调用此服务.

大体原理:
gitlab 使用nginx将前端请求代理到UNicorn web 服务器,默认情况下,unicorn 与前端之间的通信是通过unix domain 套接字进行的,但也支持通过TCP请求转发,web访问前端/home/git/gitlab/pubilc绕过unicorn 服务来提供静态页面,上传和预编译资源,gitlab使用Unicorn web 提供网页和gitlab api,使用sidekiq作为作业队列, 反过来,它使用redis 作为作业信息,元数据和作业的非持久化数据后端。

gitlab应用程序使用mysql或postgresql 作为持久化数据库,保存用户,权限,issue其他元数据等。

通过http/https提供repository时,gitlab使用gitlab API 来解释授权和访问以及提供git对象。

gitlab-shell 通过ssh提供repository,他管理/home/git/,ssh/authorized_keys 内的SSH密钥,不应该手动编辑,gitlab-shell通过gitaly访问bare repository 已提供git对象并与redis 进行通信以向sidekiq提交作业以供gitlab处理,gitlab-shell 查询gitlab API一确定授权和访问。

3 gitlab 忘记密码

修改密码为"12345678"

三 配置邮件服务器






四 配置项目相关

1 创建用户组




2 创建项目(在指定的用户组中)





3 创建用户







4 用户加组



5 登陆用户



6 配置客户端










7 配置文件并上传



8 创建分支


9 保证master分支不能上传




五 gitlab 备份与恢复

1 通过配置文件进行备份配置

2 手动进行备份和恢复

1 进入gitlab备份目录并进行备份

命令:

gitlab-rake gitlab:backup:create

2 删除gitlab中的项目






3 关闭相应的服务


4 进行备份恢复


直接输入yes

5 进行配置并启动


6 查看是否恢复成功

7 配置定时任务进行定时备份

30 00 5 /usr/bin/gitlab-rake gitlab:backup:create &> /dev/null && echo "gitlab 备份成功" | mail -s "gitlab 备份" [email protected]

原文地址:http://blog.51cto.com/11233559/2285622

时间: 2024-08-28 02:34:46

gitlab 安装和基本介绍的相关文章

gitlab安装教程

gitlab安装教程 安装教程 官网安装方法 https://about.gitlab.com/downloads/#centos7 1.准备 sudo yum install curl policycoreutils openssh-server openssh-clients sudo systemctl enable sshd sudo systemctl start sshd sudo yum install postfix sudo systemctl enable postfix s

gitlab安装,使用,备份,恢复

gitlab安装,使用,备份,恢复 git是一个版本控制器在分布式版本控制系统里,客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来. 这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复.因为每一次的提取操作,实际上都是一次对代码仓库的完整备份. 1.gitlab介绍 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务,操作起来特别方便. 2.Gitlab安装与配置 2.1yum安装软件

gitlab安装与应用

1.gitlab介绍 Gitlab的优势和应用场景:     开源免费,适合中小型公司将代码放置在该系统中:     差异化的版本管理,离线同步以及强大分支管理功能:     便捷的GUI操作界面以及强大账户权限管理功能:     集成度很高,能够集成绝大多数的开发工具:     支持内置HA,保证在高并发下仍旧实现高可用性: GitLab主要服务构成:     Nginx静态Web服务器:     Gitlab-workhorse轻量级的反向代理服务器:     Gitlab-shell 用于

Centos 7.3下 Linux For SQL Server安装及配置介绍

Centos 7.3下Linux For SQL Server安装及配置介绍 说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境受到不了不同程度的关注:比如oracle主要应用到大型的商业比较多,比如银行:SQL Server主要在常见的互联网公司使用:mysql主要应用于小型的企业或者服务商使用:当然从费用上来说,Oracle是最贵的,也是最为稳

Citrix 6.5 详细安装及配置介绍

Citrix 6.5 详细安装及配置介绍 说到虚拟机化,相信大家都对虚拟化的概念及环境的搭建都有一定的了解,我们都知道目前最主流的虚拟化产品有很多,比如microsoft Hyper-v.vmware workstation.vmare vsphere.citrix等产品,我之前的环境搭建都基于hyper-v和vmware vsphere的,近期呢,闲着没事想体验一下citrix产品,目前citrix虚拟化xencenter 6.5,所以我们今天就介绍一下xencenter6.5的全新安装及配置

SQL Server 2016 AlwaysOn 安装及配置介绍

SQL Server 2016  AlwaysOn 安装及配置介绍 Always On 可用性组功能是一个提供替代数据库镜像的企业级方案的高可用性和灾难恢复解决方案. SQL Server 2012 中引入了 Always On 可用性组功能,此功能可最大程度地提高一组用户数据库对企业的可用性. "可用性组" 针对一组离散的用户数据库(称为"可用性数据库" ,它们共同实现故障转移)支持故障转移环境. 一个可用性组支持一组读写主数据库以及一至八组对应的辅助数据库. (

GitLab安装说明

http://blog.csdn.net/huangzhijie3918/article/details/51330425 GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. gitlab是基于Ruby on Rails的,安装和配置非常麻烦,不过有傻瓜安装包,https://about.gitlab.com/downloads/,或者,https://bitnami.com/stack/gitl

gitlab 安装及部署

Gitlab 安装部署 GitLab,是一个使用 Ruby on Rails 开发的开源应用程序,与Github类似,能够浏览源代码,管理缺陷和注释,非常适合在团队内部使用. 安装步骤 n升级系统并及关闭selinux和iptables n安装Ruby n创建项目运行用户(创建git账号,方便权限管理) nGitLab Shell n数据库(可以支持mysql和PostgreSQL,这里使用mysql) nGitLab(版本:6.3.1) nWeb服务器(可支持nginx和apache,这里使用

bitnami gitlab 安装

/************************************************************************************** * bitnami gitlab 安装 * 说明: * 最近再弄git服务器,但感觉缺少Web界面实在是觉得有点欠缺什么,于是找到gitlab看一下 * 运行效果,目前这种安装方法不太适合服务器安装. * * 2016-8-15 深圳 南山平山村 曾剑锋 **********************************