GitLab的安装

GitLab的安装

1.在CentOS系统上,下面的命令将会打开系统防火墙HTTP和SSH访问。

 

yum install curl policycoreutils openssh-server openssh-clients

systemctl enable sshd

systemctl start sshd

yum install postfix

systemctl enable postfix

systemctl start postfix

firewall-cmd --permanent --add-service=http

systemctl reload firewalld

 

2.添加GitLab镜像源并安装

 

这是官方的yum源,安装速度会比较慢,可以使用国内源,修改如下文件即可:

 

vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

修改内容如下:

 

[gitlab-ce]

name=Gitlab CE Repository

baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/

gpgcheck=0

enabled=1

 

然后执行:

yum makecache

yum install gitlab-ee

yum install gitlab-ee-10.6.3 #制定安装版本

 

yum remove -y gitlab-ee #移除gitlab-ce

#配置并启动 GitLab

gitlab-ctl reconfigure

安装成功会有如下提示:

3.第一次访问GitLab

系统会重定向页面到重定向到重置密码页面,你需要输入初始化管理员账号的密码,管理员的用户名为root,初始密码为5iveL!fe。重置密码后,新密码即为刚输入的密码。

 

4.GitLab的汉化

 

成功安装GitLab后,很多朋友会想到汉化,当然如果团队里英文水平都不错的话,是没必要汉化的。

 

GitLab中文社区的项目,v7-v8.8是由Larry Li发起的“GitLab中文社区版项目”(https://gitlab.com/larryli/gitlab),从v8.9之后由@xhang开始继续汉化项目(https://gitlab.com/xhang/gitlab)。

 

首先确认当前安装版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

10.6.3

 

mkdir -p /root/test

cd /root/test /gitlab

如没安装git,需提前安装:

yum install -y git

 

下载最新的汉化包:

git clone https://gitlab.com/xhang/gitlab.git

如果是要下载老版本的汉化包,需要加上老版本的分支,如果想下载10.8.4,可以运行如下语句:

 

git clone https://gitlab.com/xhang/gitlab.git -b v10.8.4-zh

停止GitLab并执行如下语句:

 

gitlab-ctl stop

 

 

cd gitlab/

git fetch

git diff v10.6.3 v10.6.3-zh > ../10.6.3-zh.diff

cd ..

patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 <  10.6.3-zh.diff

一路回车

gitlab-ctl reconfigure

gitlab-ctl restart

 

5、gitlab报502 Whoops, GitLab is taking too much time to respond

 

解决方法1

gitlab-ctl restart sidekiq

gitlab-ctl hup unicorn

gitlab-ctl status

尝试用上面两个命令解决,发现没有用。

这时我怒了,不断的输入gitlab-ctl status,发现unicorn的pid一直在变大。而其他几个服务的pid没有变化。

3.这时差不多找到了问题的所在了,应该就是unicorn的问题。然后看官方教程,可以使用gitlab-ctl tail unicorn 来跟踪unicorn的状态,这时候悲催的发现原来时8080端口被占用了

E, [2015-02-11T17:27:57.818492 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)

E, [2015-02-11T17:27:57.818621 #26687] ERROR -- : retrying in 0.5 seconds (4 tries left)

E, [2015-02-11T17:27:58.318902 #26687] ERROR -- : adding listener failed addr=127.0.0.1:8080 (in use)

 

解决方法2

如下:

这个说明使用的端口被占用了

1、修改gitlab 仓库地址,因为默认是localhost

 

cd /opt/gitlab/embedded/service/gitlab-rails/config

vim gitlab.yml 

## Web server settings (note: host is the FQDN, do not include http://)

 host: 172.16.101.191

 port: 80

 https: false

 

 

2、修改gitlab端口

   cd /etc/gitlab/

   vim gitlab.rd

### Advanced settings

# unicorn['listen'] = '127.0.0.1'

unicorn['port'] = 8010

nginx['listen_port'] = 8011

 

3、修改gitlab-http.conf

cd /var/opt/gitlab/nginx/conf

vim gitlab-http.conf

修改:

listen *:8011;

4、gitlab-rails修改cd /var/opt/gitlab/gitlab-rails/etc

vim unicorn.rb

修改:

listen "127.0.0.1:8010", :tcp_nopush => true

5、config.yml

修改cd /var/opt/gitlab/gitlab-shell

vim config.yml

gitlab_url: http://127.0.0.1:8011

6、gitlab-ctl restart

 

重启下,然后用172.16.101.191:8011 访问

 

6.Gitlab的从备份恢复也非常简单:

注意版本一定要一致。

# 停止相关数据连接服务
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
 
例如我使用如下命令,从远程服务器copy刚才的备份文件到了新服务器的/var/opt/gitlab/backups/ 目录下
# 从1481598919编号备份中恢复
[root@huidu2 backups]# mv 1528783710_2018_06_12_10.6.3-ee_gitlab_backup.tar 1528783710_gitlab_backup.tar
[root@huidu2 backups]# gitlab-ctl stop unicorn
ok: down: unicorn: 1s, normally up
[root@huidu2 backups]# gitlab-ctl stop sidekiq
ok: down: sidekiq: 0s, normally up
[root@huidu2 backups]# gitlab-rake gitlab:backup:restore BACKUP=1528783710
输入几个yes
# 启动Gitlab
sudo gitlab-ctl start

如果报502错误

gitlab-ctl restart sidekiq

gitlab-ctl hup unicorn 

 

7Gitlab备份

1、创建备份

 

首先我们得把老服务器上的Gitlab整体备份,使用Gitlab一键安装包安装Gitlab非常简单, 同样的备份恢复与迁移也非常简单. 使用一条命令即可创建完整的Gitlab备份。

 

gitlab-rake gitlab:backup:create

1

使用以上命令会在/var/opt/gitlab/backups目录下创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包, 这个压缩包就是Gitlab整个的完整部分, 其中开头的1502357536_2017_08_10_9.4.3是备份创建的日期

 

/etc/gitlab/gitlab.rb 配置文件须备份

/var/opt/gitlab/nginx/conf nginx配置文件

/etc/postfix/main.cfpostfix 邮件配置备份

 

生成完后,/var/opt/gitlab/backups目录创建一个名称类似为1502357536_2017_08_10_9.4.3_gitlab_backup.tar的压缩包

 

2、更改Gitlab备份目录

 

当然你也可以通过/etc/gitlab/gitlab.rb配置文件来修改默认存放备份文件的目录

 

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"

1

/var/opt/gitlab/backups修改为你想存放备份的目录即可,例如下面代码将备份路径修改为/mnt/backups

 

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

 

修改完成之后使用下面命令重载配置文件即可.

 

gitlab-ctl reconfigure

 

自动备份

 

方法1、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。

 

#输入命令crontab -e

sudo crontab -e 

#输入相应的任务

0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create CRON=1 

你可能感兴趣的:(安装服务)