Centos 6 搭建安装 Gitlab

前端之家收集整理的这篇文章主要介绍了Centos 6 搭建安装 Gitlab前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

官方安装教程

解决官方无法安装的情况

编辑源

使用清华大学 TUNA 镜像源打开网址将内容复制到gitlab-ce.repo文件中,编辑路径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
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key

更新本地 YUM 缓存

sudoyummakecache

安装git

如果已经用yum安装过git,并且版本低于2.7.4,要先卸载掉旧的版本

yumremovegit
yuminstallcurl-develexpat-develgettext-developgccperl-ExtUtils-MakeMaker

使用源码编译安装git

mkdir/tmp/git&&cd/tmp/git
curl-O--progresshttps://www.kernel.org/pub/software/scm/git/git-2.8.5.tar.gz
tarzxvfgit-2.8.5.tar.gz
cdgit-2.8.5
./configure
makeprefix=/usr/localall
#安装到/usr/local/bin
makeprefix=/usr/localinstall
#验证git版本号
git--version
#查看git安装路径
whichgit
#创建软连接
ln-s/usr/local/bin/git/usr/bin/git

安装 GitLab 社区版

sudoyuminstallgitlab-ce#(自动安装最新版)
sudoyuminstallgitlab-ce-8.8.4-ce.0.el6#(安装指定版本)

更改配置

vim/etc/gitlab/gitlab.rb
#找到external_url'http://000.00.00.00:8081'#修改成你的地址

配置并启动GitLab

#打开`/etc/gitlab/gitlab.rb`,#将`external_url='http://git.example.com'`修改为自己的IP地址:`http://xxx.xx.xxx.xx`,#然后执行下面的命令,对GitLab进行编译。
sudogitlab-ctlreconfigure

登录GitLab

Username:root
Password:5iveL!fe

GitLab汉化

@H_301_76@Gitlab中文社区版地址:https://gitlab.com/xhang/gitlab

1.使用 marbleqi 制作的汉化增量补丁包

注: 使用该汉化补丁包需要重新配置编译资源文件

sudogitlab-ctlreconfigure

2. 手动导出汉化补丁包汉化

请先使用官方包安装或升级完成,确认当前版本。

sudocat/opt/gitlab/embedded/service/gitlab-rails/VERSION
9.3.5

假设当前版本为 v9.3.5,并确认汉化版本库是否包含该版本的汉化标签(-zh结尾),也就是是否包含 v9.3.5-zh。

#克隆汉化版本库
gitclonehttps://gitlab.com/xhang/gitlab.git
#如果已经克隆过,则进行更新
gitfetch

# 导出9.3.5 版本的汉化补丁

gitdiffv9.3.5v9.3.5-zh>../9.3.5-zh.diff

然后上传 9.0.0-zh.diff 文件到服务器。

#停止gitlab
sudogitlab-ctlstop
sudopatch-d/opt/gitlab/embedded/service/gitlab-rails-p1<../9.3.5-zh.diff

确定没有 .rej 文件,重启 GitLab 即可。

sudogitlab-ctlstart

执行重新配置命令

sudogitlab-ctlreconfigure

如果汉化中出现问题,请重新安装 GitLab(注意备份数据)。


此时访问http://192.168.0.80就是全中文页面了


GitLab配置更改

gitlab安装完成后,根据自己的环境,要修改配置。

如:

gitlab修改Nginx端口,绑定IP

gitlab修改ssh端口

gitlab修改访问url

gitlab修改数据库类型(这个没必要,因为这里的数据库只存储些用户名gitlab代码放在/var/opt/gitlab/git-data/下)

gitlab修改redis,gunicorn配置等等

所有的配置在/etc/gitlab/gitlab.rb修改修改完配置后执行gitlab-ctl reconfigure生效

gitlab所有的工程目录都在/var/opt/gitlab/

#ls/var/opt/gitlab/
backupsbootstrappedgit-datagitlab-railsgitlab-shelllogrotateNginxpostgresqlredis

修改配置示例:

#grep-v'#'gitlab.rb|grep-v^$
external_url'http://gitlab.sec.com'
gitlab_rails['gitlab_shell_ssh_port']=2222
Nginx['listen_addresses']=['10.18.103.1']
修改url是别人通过url拉取代码,IP对客户端透明。修改sshport及Nginx绑定IP等为环境需要解决冲突。

GitLab头像无法正常显示

原因:gravatar被墙 解决办法: 编辑 /etc/gitlab/gitlab.rb,将

#gitlab_rails['gravatar_plain_url']='http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

修改为:

gitlab_rails['gravatar_plain_url']='http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'

然后在命令行执行:

sudogitlab-ctlreconfigure
sudogitlab-rakecache:clearRAILS_ENV=production

Nginx配置

解决80端口被占用

upstreamgitlab{
server114.55.111.111:8081;
}
server{
#侦听的80端口
listen80;
server_namegit.diggg.cn;
location/{
proxy_passhttp://gitlab;#在这里设置一个代理,和upstream的名字一样
#以下是一些反向代理的配置可删除
proxy_redirectoff;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
client_max_body_size10m;#允许客户端请求的最大单文件字节数
client_body_buffer_size128k;#缓冲区代理缓冲用户端请求的最大字节数
proxy_connect_timeout300;#Nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout300;#后端服务器数据回传时间(代理发送超时)
proxy_read_timeout300;#连接成功后,后端服务器响应时间(代理接收超时)
proxy_buffer_size4k;#设置代理服务器(Nginx)保存用户头信息的缓冲区大小
proxy_buffers432k;#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size64k;#高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size64k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传
}
}

#检查配置
/usr/local/Nginx-1.5.1/sbin/Nginx-tcconf/Nginx.conf

#Nginx重新加载配置
/usr/local/Nginx-1.5.1/sbin/Nginx-sreload

运维

#启动所有gitlab组件:
sudogitlab-ctlstart

#停止所有gitlab组件:
sudogitlab-ctlstop

#重启所有gitlab组件:
sudogitlab-ctlrestart

#查看服务状态
sudogitlab-ctlstatus

#启动服务
sudogitlab-ctlreconfigure

#修改默认的配置文件
sudovim/etc/gitlab/gitlab.rb

#查看版本
sudocat/opt/gitlab/embedded/service/gitlab-rails/VERSION

#echo"vm.overcommit_memory=1">>/etc/sysctl.conf
#sysctl-p
#echonever>/sys/kernel/mm/transparent_hugepage/enabled

#检查gitlab
gitlab-rakegitlab:checkSANITIZE=true--trace

#查看日志
sudogitlab-ctltail

备份恢复

Gitlab 创建备份

使用Gitlab一键安装包安装Gitlab非常单,同样的备份恢复与迁移也非常简单,用一条命令即可创建完整的Gitlab备份:

gitlab-rakegitlab:backup:create

以上命令将在/var/opt/gitlab/backups目录下创建一个名称类似为xxxxxxxx_gitlab_backup.tar的压缩包,这个压缩包就是Gitlab整个的完整部分,其中开头的xxxxxx是备份创建的时间戳。

Gitlab 修改备份文件默认目录

修改/etc/gitlab/gitlab.rb修改默认存放备份文件的目录:

gitlab_rails['backup_path']='/mnt/backups'

修改后使用gitlab-ctl reconfigure命令重载配置文件

备份

02***/usr/bin/gitlab-rakegitlab:backup:create
02***/opt/gitlab/bin/gitlab-rakegitlab:backup:create

恢复

首先进入备份 gitlab 的目录,这个目录是配置文件中的gitlab_rails['backup_path'],默认为/var/opt/gitlab/backups

然后停止 unicorn 和 sidekiq ,保证数据库没有新的连接,不会有写数据情况。

#停止相关数据连接服务
#ok:down:unicorn:0s,normallyup
gitlab-ctlstopunicorn
#ok:down:sidekiq:0s,normallyup
gitlab-ctlstopsidekiq

#从xxxxx编号备份中恢复
#然后恢复数据,1406691018为备份文件的时间戳
gitlab-rakegitlab:backup:restoreBACKUP=xxxxxx

#启动Gitlab
sudogitlab-ctlstart

迁移

把备份文件拷贝到gitlab的备份目录下,根据上面gitlab恢复步骤即可。


错误处理

Errorexecutingaction`run`onresource'bash[migrategitlab-railsdatabase]'

https://gitlab.com/gitlab-org/gitlab-ce/issues/2052#note_1667899

NameError:uninitializedconstantDevise::Async



本文参考:http://www.cnblogs.com/chinajava/p/5870683.html

猜你在找的CentOS相关文章