CentOS7下RPM包手动安装GitLab

我之前用docker安装了一版Gitlab,但用的时候出现了各种问题,没找到原因,所以就rm了,打算重新用官方的最新版rmp包手动搭建一回,这里记录下详细步骤,包括完全卸载旧版本(这点儿非常重要,有很多莫名其妙的安装错误,都是由于旧版本残留造成的),以及一些自定义的外观设置,汉化,配置免密登录等一些日常必备的系统设置步骤。

1. 彻底卸载旧版本

如果你之前安装过GitLab,那就比较麻烦了,之前的版本会残留很多GitLab依赖,例如postgrel数据库等,必须将它们都彻底删干净了,才能重新安装新版本。

gitlab-ctl stop
rpm -e gitlab-ce
# 查看进程,将涉及gitlab的进程全部kill掉
ps aux | grep gitlab
# 查杀进程后,再执行看看有没有kill干净
ps aux | grep gitlab
# 删除所有包含gitlab文件
find / -name gitlab | xargs rm -rf
rm -rf  /opt/gitlab
rm -rf  /etc/gitlab
rm -rf  /var/log/gitlab

# 之后就可以重新安装新版
sudo yum install gitlab-ce
2. 镜像下载安装

先下载到本地再进行安装,可以选择自己的版本进行下载安装
镜像下载地址 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.9.4-ce.0.el7.x86_64.rpm

yum install gitlab-ce-12.9.4-ce.0.el7.x86_64.rpm

2. 创建yum源文件安装
# 配置yum源
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
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key

# 更新本地yum缓存
yum makecache

# 重置GPG  keys
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

# 安装gitlab社区版
sudo yum intall gitlab-ce         # 自动安装最新版
sudo yum install gitlab-ce-x.x.x    # 安装指定版本

4. 官方脚本安装

官方下载地址:https://packages.gitlab.com/gitlab/gitlab-ce/


curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

sudo yum intall gitlab-ce         # 自动安装最新版
sudo yum install gitlab-ce-12.10.0    # 安装指定版本

3. 修改配置文件

配置启动url和系统邮件发送配置

vim /etc/gitlab/gitlab.rb

# 启动url的配置
external_url 'http://192.168.11.4'

# 防止8080端口被占用
unicorn['port']=8101

# 发送邮件配置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "xxxx@163.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx"
gitlab_rails['smtp_password'] = "xxxxxxx"
gitlab_rails['smtp_domain'] = "163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xxx.com'
gitlab_rails['gitlab_email_display_name'] = 'xxx'
gitlab_rails['gitlab_email_reply_to'] = 'xxxxx@163.com'
gitlab_rails['gitlab_email_subject_suffix'] = 'xxxxx'
user["git_user_email"] = "xxxx@xxx.com"

重启配置使之生效

gitlab-ctl reconfigure
gitlab-ctl restart

如果安装过程遇到“ ruby_block[wait for redis service socket] action run”处卡住,可通过alt+c退出,并执行 systemctl restart gitlab-runsvdir,再继续执行 gitlab-ctl reconfigure,如安装过程遇到报错信息,可重复执行 gitlab-ctl reconfigure

浏览器运行时,如果报502 则先查看端口被占用的情况,再进入配置文件修改端口号

netstat -ntpl #查看端口情况

测试SMTP配置
在GitLab服务器上,执行 gitlab-rails console 进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:

Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
4. 中文界面配置

浏览器访问出现页面之后,先修改密码,再用root账户登录,之后就可以进行系统常用配置了
配置中文界面
配置中文界面
配置中文界面后,需要退出后重新登录
中文界面效果

5. 免密登录配置

本地机器生成rsa秘钥对,之后将公钥拷贝到服务器对应的配置即可

ssh-keygen -t rsa -C "xxxxxxxx@163.com"
cat ~/.ssh/id_rsa.pub

添加秘钥截图

测试提交效果
提交效果

6. gitlab 常用命令
gitlab-ctl start    # 启动所有 gitlab 组件;
gitlab-ctl stop        # 停止所有 gitlab 组件;
gitlab-ctl restart        # 重启所有 gitlab 组件;
gitlab-ctl status        # 查看服务状态;
gitlab-ctl reconfigure        # 启动服务;
vim /etc/gitlab/gitlab.rb        # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace    # 检查gitlab;
gitlab-ctl tail        # 查看日志;
7. 参考博文
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐