部署并汉化gitlab

一、部署gitlab

1)安装gitlab所需依赖

$ yum -y install  epel-release curl openssh-server openssh-clients postfix cronie policycoreutils-python wget vim

2)获取gitlab

① 方法一:通过清华大学的开源镜像站获取软件包(推荐)
$ wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
② 方法二:通过gitlab官网来获取软件包(网络稳定时使用)
$ wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm/download.rpm

3)安装gitlab

$ rpm -ivh gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm 
#安装时间较长,耐心等待,安装过程中会出现gitlab的logo
$ yum -y localinstall gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
#效果较好,自动解决依赖关系

4)修改配置文件并启动

$ vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.1'      #修改为gitlab服务器的地址
$ gitlab-ctl reconfigure        #第一次时间较长
#重新配置gitlab,就算不修改配置文件,也需要在安装后重新配置gitlab
#接下来对这个文件进行操作,也需执行该条命令
$ gitlab-ctl  start       #启动gitlab各个组件

5)访问

访问地址:http://192.168.1.1:80 ,如图:
20200403214847

二、汉化gitlab

1)获取gitlab汉化补丁包(如果不需要汉化,则跳过此步骤即可)

$ head -1 /opt/gitlab/version-manifest.txt           #查看gitlab的版本
gitlab-ce 12.3.5
$ git clone https://gitlab.com/xhang/gitlab.git -b v12.3.5-zh
#获取汉化补丁包(注意需与gitlab的版本保持一致)
$ cd gitlab/               #进入刚才clone下来的gitlab目录
[root@gitlab gitlab]# git diff v12.3.5 v12.3.5-zh > /root/v12.3.5-zh.diff
#用diff将英文原版与中文版的对比生成.diff文件

2)将中文补丁导入gitlab,并重新启动

[root@gitlab gitlab]# gitlab-ctl stop              #停止gitlab
[root@gitlab gitlab]# yum -y install patch
[root@gitlab gitlab]# patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 <  ../v12.3.5-zh.diff
 #将刚才的diff文件做为补丁导入到gitlab中
#该命令执行过程中,一路回车跳过即可
[root@gitlab gitlab]# gitlab-ctl reconfigure
[root@gitlab gitlab]# gitlab-ctl start     

3)访问

第一次访问设置密码,完成之后登录,默认的管理员是root。
20200403215554
20200403215618
20200403215629

三、关闭用户注册功能

如果不关闭注册功能的话,任何可以访问gitlab页面的人都可以自行进行注册,十分危险!需进行以下操作,将注册功能关闭!

20200403220026

四、gitlab基本操作

1)配置SSH方式免密登录

$ ssh-keygen
$ cat ~/.ssh/id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnueXV9bol1lGvy2u73IoGYQE6DamUf8QKMd4UgfH5t8TGAwe2a82FKZ1fk2TbhIKttIJPzlqYpP5ap4/tple1Nwy5Mm5i3xo4nI8qhyfb/FFFdtx0iMIAEwzbpSzgsWbH7fZ+pubOgLRWusfcSzhBrfL4h73mG1Xa9jTCuR+uvs+3hiGTcGJ01smmaJvSWMTnw7D2HrBucnvRA0/IGV11qPj9Ssra1yzLZ9KNQRvEKGDiRW2rPvYafXFzt9tJLqkVjLkd3FXx6b8dMzjunf7lRaZzDIrBlRQBM6l13U+7Pqv/CLAwR+YNj8TzTyx4cyzII7uShsWse7udlkiAphmX root@gitlab

20200403221401
20200403221422

2)创建一个基本库

20200403221533
20200403221552
20200403221818

$ git config --global user.name "admin"
$ git config --global user.email "admin@admin.com"
$ git clone git@192.168.1.1:root/test.git
$ cd test/
[root@gitlab test]# touch {1,2,3,4,5}.txt
[root@gitlab test]# git add .
[root@gitlab test]# git commit -m "first commit"
[root@gitlab test]# git push -u origin master

20200403222230

五、重置gitlab管理员密码

$ gitlab-rails console production             #必须是root用户登录服务器执行该命令
irb(main):001:0> user = User.where(id: 1).first             #id为1的是超级管理员
irb(main):002:0> user.password = 'yourpassword'       #密码必须至少8个字符
irb(main):003:0> user.save!                  #保存用户修改信息,如没有问题返回true
irb(main):004:0> exit                             #退出

六、gitlab的备份与恢复

1)更改配置文件,实现备份

$ vim /etc/gitlab/gitlab.rb             #更爱gitlab配置文件
gitlab_rails['backup_path'] = "/data/gitlab/backups"          #更改备份路径
gitlab_rails['backup_keep_time'] = 604800              #备份保留的时间
$ mkdir -p /data/gitlab/backups
$ gitlab-ctl reconfigure

2)手动备份、自动备份

$ gitlab-rake gitlab:backup:create       #手动进行备份
$ crontab -e              #创建计划任务的方式实现自动备份
00 20 * * *  /usr/bin/gitlab-rake gitlab:backup:create

3)恢复数据

$ gitlab-ctl stop unicorn
$ gitlab-ctl stop sidekiq          #停止数据写入服务
$ ls /data/gitlab/backups/
1581862634_2020_02_16_12.3.5_gitlab_backup.tar
$ gitlab-rake gitlab:backup:restore BACKUP=1581862634_2020_02_16_12.3.5
$ gitlab-ctl restart
$ gitlab-ctl tail
#查看gitlab的日志信息
posted @ 2021-01-12 23:46  吕振江  阅读(449)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end