一、安装依赖
yum install -y curl policycoreutils-python openssh-server
centos8没有policycoreutils-python yum源,不用管
二、依赖开启
启动ssh并设置为开机自启动
systemctl enable sshd
systemctl start sshd
添加http服务到防火墙
systemctl start firewalld
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
开放gitlab对外端口
firewall-cmd --zone=public --permanent --add-port=8990/tcp
开放gitlab对应mail 端口
firewall-cmd --zone=public --permanent --add-port=465/tcp
systemctl reload firewalld
安装启动postfix
yum install postfix
systemctl enable postfix
systemctl start postfix
三、安装下载
下载gitlab
wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.6.7-ce.0.el7.x86_64.rpm
安装
rpm -i gitlab-ce-12.10.1-ce.0.el8.x86_64.rpm
四、更改配置
vim /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure
gitlab-ctl restart
五、配置修改
external_url 'https://ip:8990'
nginx['redirect_http_to_https'] = true
puma['worker_processes'] = 2
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@qq.com"
gitlab_rails['smtp_password'] = "QQ邮箱授权码(不是QQ邮箱的密码)"
gitlab_rails['smtp_domain'] = " smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@qq.com'
gitlab_rails[‘gitlab_email_enabled’] = true
头像显示问题:
vim /var/opt/gitlab/gitlab-rails/etc/gitlab.yml
plain_url: http://sdn.geekzu.org/avatar/%{hash}?s=%{size}&d=identicon
ssl_url: https://sdn.geekzu.org/avatar/%{hash}?s=%{size}&d=identicon
六、gitlab 使用
查看root密码:
cat /etc/gitlab/initial_root_password
七、gitlab 卸载
1.停止gitlab
sudo gitlab-ctl stop
2.卸载gitlab(注意了是gitlab-ce版本还是gitlab-ee版本)
sudo rpm -e gitlab-ce
3.查看gitlab进程
ps -ef|grep gitlab
杀掉第一个守护进程(runsvdir -P /opt/gitlab/service log)
kill -9 4473
再次查看gitlab进程是否存在
4.删除gitlab文件
find / -name *gitlab*|xargs rm -rf 删除所有包含gitlab的文件及目录
find / -name gitlab |xargs rm -rf
删除gitlab-ctl uninstall时自动在root下备份的配置文件(ls /root/gitlab* 看看有没有,有也删除)
八、其他问题
因为笔者使用的阿里云服务器,在端口开放中,不止要设置防火墙,还要在阿里云控制台中更改安全组配置
http(80)
https(443)
mail(465)
gitlab端口 (8990)
九、gitlab 邮件问题
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@qq.com"
gitlab_rails['smtp_password'] = "QQ邮箱授权码(不是QQ邮箱的密码)"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@qq.com'
gitlab_rails[‘gitlab_email_enabled’] = true
gitlab-ctl reconfigure
gitlab-ctl restart
测试邮件是否可以发送
gitlab-rails console
Notify.test_email('***@******.com','email title','email content desc').deliver_now
十、占用CPU 100% 问题
puma['worker_processes'] = 2
十一、使用docker进行安装