注意:gitlab安装必须安装在linux系统上面,windows系统是不支持的,内存需要4g以上否则容易报502错误。
一 、安装gitlab依赖的环境
(1)首先准备一台linux系统,并且配置好网络,在这里本人准备的是一台centos7系统,centos下载地址阿里:http://mirrors.aliyun.com/centos/7/isos/x86_64/。
(2)安装依赖gitlab依赖的环境参看官网安装过程https://about.gitlab.com/install/#centos-7
在这里个人强烈建议安装过程要参看官网说明,以免会遇到各种坑,有人说看不懂可以谷歌浏览器翻译一下。
sudo yum install -y curl policycoreutils-python openssh-server 安装ssh服务器
sudo systemctl enable sshd 设置服务器开机自启
sudo systemctl start sshd 启动ssh服务
sudo firewall-cmd --permanent --add-service=http 添加http服务到firewalld,pemmanent表示永久生效,若不加--permanent系统下次启动 后就会失效。
sudo systemctl reload firewalld 重启防火墙 安装Postfix并启动它用来发送通知电子邮件。如果要使用其他解决方案发送电子邮件,不用此步骤
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
添加GitLab软件包存储库并安装软件包
添加GitLab包存储库。
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | bash
由于自己用的是root用户直接安装,前面没有用sudo,但是建议大家不要直接用root用户安装。
安装过程中出现以下错误:
解决方法:
禁用掉,还是不能解决掉
1.修改插件的配置文件
# vi /etc/yum/pluginconf.d/fastestmirror.conf
enabled = 1//由1改为0,禁用该插件
2.修改yum的配置文件
# vi /etc/yum.conf
plugins=1//改为0,不使用插件
完成以上步骤后又报这个 There are no enable repos 错误
最后找到原因是:centos7提示没有有效镜像的镜像
解决办法是:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
然后上面的配置有还原回去了,好了。
yum安装成功上面的步骤执行成功了!
二、安装gitlab软件
我自己在gitlab官网下载了rpm软件下载地址是:https://packages.gitlab.com/gitlab/gitlab-ce
是免费社区版的,下载的是gitlab-ce-11.11.7-ce.0.el7.x86_64.rpm。
然后上传到系统上
(1)上传后需要修改权限 chmod 755 * 其中 r读是:4 w是写:2 x 是执行:1
(2)执行rpm -ivh gitlab-ce-11.11.7-ce.0.el7.x86_64.rpm 其中-i是安装 -iv显示安装详情, -ivh显示安装进度,显示这些安装成功。
(3)配置端口号: vi /etc/gitlab/gitlab.rb
gitlab-ctl reconfigure 重启配置文件,用时间挺长的,会多次出现以下现象
出现以下情况成功:
gitlab-ctl start 重启服务是配置文件有效.还有就是超时时间改一下在/etc/gitlab/gitlab.rb文件里面
(4)等3分钟后访问ip和端口出现以下情况成功,启动的时间比较长,需要等待一下再登录
三、汉化
(1)下载对应的汉化包路径https://gitlab.com/xhang/gitlab我是11.11.7版的下载的是
gitlab-11-11-stable-zh.tar.gz上传到服务器
用 tar -zxvf gitlab-11-11-stable-zh.tar.gz 解压然后执行
gitlab-ctl stop
(2) cp -rf /opt/gitlab/embedded/service/gitlab-rails /自己的备份目录下面
(3) \cp -rf gitlab-11-11-stable-zh/* /opt/gitlab/embedded/service/gitlab-rails/ (替换汉语)
如图图中的版本是我早期安装,替换过程中会出现log和tmp不能被替换不用管没有影响
(4)gitlab-ctl reconfigure
gitlab-ctl restart
(5)自己设置密码 默认用户是root 然后登陆后设置为简体中文,所有的栏目都变中文了
四、邮箱配置
参看文档https://docs.gitlab.com/omnibus/settings/smtp.html#qq-exmail
我用的是这种形式:
vi /etc/gitlab/gitlab.rb
没有SSL的SMTP
默认情况下,为SMTP启用SSL。如果您的SMTP服务器不支持通过SSL进行通信,请使用以下设置:
直接添加:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = 'localhost' //邮箱服务器地址
gitlab_rails['smtp_port'] = 25 端口号
itlab_rails['smtp_user_name'] = "smtp user"
gitlab_rails['smtp_password'] = "smtp password"
gitlab_rails['smtp_domain'] = 'localhost' //邮箱域
gitlab_rails['smtp_tls'] = false
gitlab_rails['smtp_openssl_verify_mode'] = 'none'
gitlab_rails['smtp_enable_starttls_auto'] = false
gitlab_rails['smtp_ssl'] = falsegitlab_rails['smtp_force_ssl'] = false
//配置发件人
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
添加完保存后执行下面的命令
gitlab-ctl reconfigure
gitlab-ctl restart
测试邮箱发送,在服务器控制台输入下面的命令:
gitlab-rails console
irb(main):003:0> Notify.test_email('自己的能收邮件的邮箱@qq.com', 'Message Subject', 'Message Body').deliver_now
然后如果自己的邮箱收到信息配置成功
五、 完全卸载删除gitlab
1、停止gitlab
gitlab-ctl stop
2、卸载gitlab(注意这里写的是gitlab-ce)
rpm -e gitlab-ce
3、查看gitlab进程
ps aux | grep gitlab
4、杀掉第一个进程(就是带有好多.............的进程)
kill -9 18777
杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程
5、删除所有包含gitlab文件
find / -name gitlab | xargs rm -rf
在卸载gitlab然后再次安装执行gitlab-ctl reconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!
解决方案:
按住CTRL+C强制结束
运行:
systemctl restart gitlab-runsvdir
gitlab-ctl reconfigure
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/common_installation_problems/README.md#reconfigure-freezes-at-ruby_blocksupervise_redis_sleep-action-run
上面是个人总结,如有问题可以留言打赏加好友共同解决,谢谢大家!