logo logo
关于我们

技术分享

技术分享 GitLab安装,导入,备份

GitLab安装,导入,备份

2021-04-28

GitLab的安****装

2.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
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中文社区版项目”从v8.9之后由@xhang开始继续汉化项目

首先确认当前安装版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
10.6.3

mkdir -p /root/test
cd /root/test /gitlab
如没安装git,需提前安装:
yum install -y git

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

停止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

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
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

7、Gitlab备份
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  
7、重置root密码

云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 其他

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载

jia7jia_7
请添加好友
为您提供支持

请拨打电话
为您提供支持

400-9955-698