阅读本文将获取以下知识点。
GitLabCE(社区版)和GitLabEE(企业版),本次安装、卸载、汉化、数据迁移只适用于gitlab-ce版本,gitlab-ee版本未做实验。
数据迁移方面是从一台服务器上将git项目完整迁移到另一台服务器。
- gitlab安装
- gitlab数据迁移
- gitlab汉化
- gitlab卸载
- 安装准备
#安装使用命令(如已安装则不需要再次安装)
yum -y install lrzsz #安装rz、sz上传下载命令
yum -y install vim* #安装vim
yum -y install unzip zip #安装zip、unzip解压缩工具
#下载gitlab 地址: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
rz 上传gitlab包到服务器目录下
- 安装环境
#安装依赖软件包
sudo yum -y install curl policycoreutils-python openssh-server openssh-clients
sudo systemctl enable sshd
sudo systemctl start sshd
#安装邮件服务,如已安装则不需重复安装
sudo yum -y install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
#上传下载好的gitlab rpm包到 /usr/local/file 下
cd /usr/local/file
#安装gitlab,出现 'Thank you for installing GitLab!'和狐狸图标表示安装成功
rpm -ivh gitlab-ce-11.3.6-ce.0.el7.x86_64.rpm
- 配置 gitlab& 邮件
#配置监听域名或IP
vim /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com' 修改为 external_url 'http://192.168.1.x:9090' # external_url 后为IP地址或域名,根据需要修改为合适即可
nginx['listen_port'] = 9090 #配置内部nginx端口
#自动配置,初始化信息. 出现 'gitlab Reconfigured!' 表示安装成功
gitlab-ctl reconfigure
#启动服务
gitlab-ctl start
#配置smtp邮件功能
#内容如下
gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = 'Admin'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
gitlab_rails['gitlab_email_subject_suffix'] = '[gitlab]'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_domain'] = "domain.cn"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
user['git_user_email'] = "[email protected]"
#重新配置
sudo gitlab-ctl reconfigure
#重启
sudo gitlab-ctl restart
# gitlab-rails console 发送邮件测试
gitlab-rails console
# 发送邮件
Notify.test_email('[email protected]', 'Message Subject', 'Message Body').deliver_now
4.登陆
在这里插入代码片#打开浏览器输入地址(gitlab安装服务地址)
http://192.168.x.x:9090
#重置密码
#登陆 默认用户名 root
- 数据迁移
注意:gitlab数据迁移暂时只支持同版本间的数据迁移。
- 旧服务器
#旧服务器-----------------------------------------
#旧服务器执行
gitlab-rake gitlab:backup:create
#查看打包名称: 类似 1574243886_2019_11_20_11.3.6_gitlab_backup.tar
ll /var/opt/gitlab/backups/
#发送备份包到新服务器
scp /var/opt/gitlab/backups/1574243886_2019_11_20_11.3.6_gitlab_backup.tar root@192.168.1.23:/var/opt/gitlab/backups/
#旧服务器-----------------------------------------
- 新服务器
#新服务器-----------------------------------------
#新服务器
cd /var/opt/gitlab/backups/
#查看数据情况
ll /var/opt/gitlab/backups/
#新服务器-赋权
chmod 777 1574243886_2019_11_20_11.3.6_gitlab_backszup.tar
#重启
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
#解库 1574243886_2019_11_20_11.3.6_gitlab_backszup.tar 不带后缀
gitlab-rake gitlab:backup:restore BACKUP=1502357536_2017_08_10_9.4.3
#重启服务
sudo gitlab-ctl start
#新服务器-----------------------------------------
- 汉化(汉化容易出现各种问题,不建议汉化)
- 汉化包下载地址,注意一定要与gitlab版本相同: https://gitlab.com/xhang/gitlab.git
- 本次搭建的gitlab版本是 11.3.6 需要一定下载相同版本的汉化包
#查看本机安装版本
sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
#停止gitlab运行
sudo gitlab-ctl stop
#备份英文版
cp -r /opt/gitlab/embedded/service/gitlab-rails{,.ori}
#上传下载zip包
unzip gitlab-11-3-stable-zh
#替换汉化包
/bin/cp -rf gitlab-11-3-stable-zh /opt/gitlab/embedded/service/gitlab-rails/
过程中可能会报错:
#替换汉化包的时候可能会报错 -- 忽略即可
/bin/cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/log’ with directory ‘gitlab-11-3-stable-zh/log’
/bin/cp: cannot overwrite non-directory ‘/opt/gitlab/embedded/service/gitlab-rails/tmp’ with directory ‘gitlab-11-3-stable-zh/tmp’
重启登陆
#重启
gitlab-ctl reconfigure
gitlab-ctl restart
#重新登录 -- 已变为汉化版本了
http://192.168.x.x:port/users/sign_in
- 卸载gitlab-ce
#停止gitlab
sudo gitlab-ctl stop
#卸载gitlab
sudo rpm -e gitlab-ce
#查看gitlab进程
ps -ef|grep gitlab
#杀掉gitlab守护进程 runsvdir -P /opt/gitlab/service log / runsv gitlab-monitor
kill -9 xx
#再次查看是否运行
ps -ef|grep gitlab
#返回根目录
cd ~
#删除gitlab文件
find / -name *gitlab*|xargs rm -rf
find / -name gitlab |xargs rm -rf
#删除root下备份配置文件(如果存在)
ls /root/gitlab*