CentOS7下RPM包手动安装GitLab
我之前用docker安装了一版Gitlab,但用的时候出现了各种问题,没找到原因,所以就rm了,打算重新用官方的最新版rmp包手动搭建一回,这里记录下详细步骤,包括完全卸载旧版本(这点儿非常重要,有很多莫名其妙的安装错误,都是由于旧版本残留造成的),以及一些自定义的外观设置,汉化,配置免密登录等一些日常必备的系统设置步骤。
文章目录
- CentOS7下RPM包手动安装GitLab
- 1. 彻底卸载旧版本
- 2. 镜像下载安装
- 2. 创建yum源文件安装
- 4. 官方脚本安装
- 3. 修改配置文件
- 4. 中文界面配置
- 5. 免密登录配置
- 6. gitlab 常用命令
- 7. 参考博文
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. 参考博文
- gitlab服务器邮箱配置
- Linux—gitlab访问出现502问题
- centos7安装gitlab
- GitLab安装