本文参考Linux(Centos7.6)下安装Gitlab详细教程
1、查看Linux系统版本确认gitlab需要使用的安装包类型
使用命令:cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
本系统是CentOS 7,对应官方教程地址:https://about.gitlab.com/install/#centos-7
We strongly recommend downloading the Omnibus package installation since it is quicker to install, easier to upgrade, and it contains features to enhance reliability not found in other methods.
We also strongly recommend at least 4GB of free RAM to run GitLab.
2、安装 curl,policycoreutils-python,openssh-server服务
使用命令:
yum install -y curl policycoreutils-python openssh-server
出现以下界面,说明成功
3、将SSH服务设置成开机自启动
systemctl enable sshd
4、启动SSH服务
systemctl start sshd
5、开启防火墙 - 阿里云不需要,去控制台
systemctl start firewalld或者service firewalld start
6、添加http服务到firewalld
允许http服务通过, pemmanent表示永久生效,若不加–permanent系统下次启动后就会失效
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
7、重启防火墙
(sudo) systemctl reload firewalld
8、接下来,安装Postfix以发送通知邮件,并将postfix服务设置成开机自启动
Linux centos 查看postfix已经安装 rpm -qa |grep postfix,如果安装过,则无需安装。
安装postfix:
命令:sudo yum install postfix
设置postfix自启动
命令:sudo systemctl enable postfix
9、启动Postfix
命令:sudo systemctl start postfix
可以通过命令:systemctl status postfix
查看是否启动成功,下图所示标识启动成功
10、下载镜像
官网链接:https://packages.gitlab.com/gitlab/gitlab-ee/packages/el/7/gitlab-ee-12.5.4-ee.0.el7.x86_64.rpm
使用命令下载镜像:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
出现下图所示,标识reposity镜像下载成功:
安装镜像:
sudo yum install -y gitlab-ee-12.5.4-ee.0.el7.x86_64
出现下图所示,标识安装成功
11、修改gitlab配置文件指定服务器ip和自定义端口
vim /etc/gitlab/gitlab.rb
使extenal_url指向自己的ip:extenal_url=”http://ip:8888”
12、刷新配置GitLab
gitlab-ctl reconfigure
这个过程有点慢
13、重置并启动GitLab
命令:
gitlab-ctl start
启动成功如下图所示:
14、Gitlab常用命令:
sudo gitlab-ctl start # 启动所有 gitlab 组件;
sudo gitlab-ctl stop # 停止所有 gitlab 组件;
sudo gitlab-ctl restart # 重启所有 gitlab 组件;
sudo gitlab-ctl status # 查看服务状态;
sudo gitlab-ctl reconfigure # 启动服务;
sudo vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
sudo gitlab-ctl tail # 查看日志;
15、关于gitlab-ee和gitlab-ce
16、修改gitlab_gitlab-ee.repo文件
把repo_gpgcheck属性为0,以及baseurl属性为清华大学的开源镜像站地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ee/yum/el7
修改完成后再刷新yum源:
yum clean all
yum yum makecache
注意事项以及该文件关键 键的介绍:
17、安装过程可能出现问题和修复方法:
解决方案:
修改默认端口:需要放开/etc/gitlab/gitlab.rb文件里面nginx[‘listen_port’]和unicorn[‘port’]注释并设置端口,两个端口不能相同.具体原因笔者暂时也搞不懂,没用过nginx。
nginx['listen_port'] = 1001
unicorn['port'] = 1002
可能是端口占用问题,unicorn
刷新gitlab配置和启动
gitlab-ctl reconfigure
gitlab-ctl restart
在卸载gitlab然后再次安装执行 gitlab-ctlreconfigure的时候往往会出现:ruby_block[supervise_redis_sleep] action run,会一直卡无法往下进行!
解决方案:
1、按住CTRL+C强制结束;
2、运行:sudo systemctl restart gitlab-runsvdir;
3、再次执行:sudo gitlab-ctl reconfigure
18、修改gitlab的配置文件:/etc/gitlab/gitlab.rb
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "******@qq.com"
gitlab_rails['smtp_password'] = "授权码"
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'] = '******@qq.com'
重启生效:gitlab-ctl reconfigure
执行 gitlab-rails console进入控制台。 然后在控制台提示符后输入下面的命令 发送一封测试邮件:Notify.test_email('收件人邮箱', '邮件标题', '邮件正文').deliver_now
19、进入Gitlab控制台
输入
gitlab-rails console production
进入gitlab控制台,只有进入到控制台之后,才可以输入gitlab的查询语句,才会被解析
查找用户信息:
user = User.where(id:1).first
重置密码:输入
user.password='密码'
密码位置填写您新的密码即可。然后再输入user.save!保存用户对象
20、Centos 7 下Gitlab 自启动设置
禁止 Gitlab 开机自启动:
systemctl disable gitlab-runsvdir.service
启用 Gitlab 开机自启动:
systemctl enable gitlab-runsvdir.service
配上搭建成功的图