-
系统环境及工具
工具 / 环境 | 版本 |
---|---|
Linux Server |
CentOS 7 |
GitLab |
ce (社区版 ) |
-
准备工作
-
安准基础依赖
#安装技术依赖
sudo yum install -y curl policycoreutils-python openssh-server
#启动ssh服务&设置为开机启动
sudo systemctl enable sshd
sudo systemctl start sshd
#打开系统防火墙的http访问
sudo firewall-cmd --permanent --add-service=http
sudo systemctl reload firewalld
如果报错FirewallD is not running
,则输入如下命令解决。
#运行防火墙服务
systemctl start firewalld.service
-
安装 Postfix
Postfix 是一个邮件服务器,GitLab 发送邮件需要用到。
#安装postfix
sudo yum install -y postfix
#启动postfix并设置为开机启动
sudo systemctl enable postfix
sudo systemctl start postfix
-
开放 ssh 以及 http 服务(80 端口)
#开放ssh、http服务
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --add-service=http --permanent
#重载防火墙规则
sudo firewall-cmd --reload
-
部署过程
-
安装所需关键
nginx
、git
#建立新版 nginx 的 yum 仓库
wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
#安装 git
#如果已经用 yum 安装过 git, 并且版本低于 2.7.4, 要先卸载掉旧的版本
yum remove git
yum install vim curl openssh-server openssh-clients gcc-c++ zlib1g-dev zlib
-
Yum 安装 GitLab
#添加 GitLab 社区版 Package
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
新建 /etc/yum.repos.d/gitlab-ce.repo
,内容为
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
再执行
#更新本地 YUM 缓存
sudo yum makecache
#自动安装最新GitLab社区版
sudo yum install gitlab-ce
安装成功后会看到 gitlab-ce
打印了以下图形

-
修改
gitlab
配置文件指定服务器ip
和自定义端口
GitLab 默认的配置文件路径是 /etc/gitlab/gitlab.rb
默认的站点 Url 配置项是:external_url 'http://gitlab.example.com'
可以将 GitLab 站点 Url 修改为ip
地址+端口号
,像这样:http://xx.xx.xx.xx:xxxx
即用 IP
代替域名,这里根据自己需求来即可
#修改配置文件
sudo vi /etc/gitlab/gitlab.rb
#配置首页地址(大约在第15行)
external_url 'http://xx.xx.xx.xx:xxxx'
#配置邮箱服务,方便后续的管理和发送邮件
#此处是以腾讯企业邮箱为例,参考文档:https://docs.gitlab.com.cn/omnibus/settings/smtp.html
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxxx@xx.com"
gitlab_rails['smtp_password'] = "password"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = 'xxxx@xx.com'
gitlab_rails['smtp_domain'] = "exmail.qq.com"
-
启动并访问 GitLab
-
启动
GitLab
#重新配置并启动
sudo gitlab-ctl reconfigure
#完成后将会看到如下输出
Running handlers complete
Chef Client finished, 432/613 resources updated in 03 minutes 43 seconds
gitlab Reconfigured!
-
访问 GitLab
将设置的域名 DNS 解析到服务器 IP,或者修改本地 host 将域名指向服务器 IP。
打开浏览器访问:http://xx.xx.xx.xx:xxxx。
第一次登陆默认管理员密码和用户名:
Username: root
Password: 5iveL!fe
-
问题解决一和二
-
访问页面无回应
本地打开浏览器,输入前面配置的地址加端口号。如果本机可以访问,但其他电脑访问不了,应该是防火墙拦截了端口,可以在防火墙添加端口:
#查看想开的端口是否已开
firewall-cmd --query-port=12580/tcp
#如果提示no,则是未开启
#永久开启所要开启的端口号,提示 success 表示成功
firewall-cmd --add-port=12580/tcp --permanent
如果访问的时候报 502 错误,加上这句:
chmod -R 755 /var/log/gitlab
-
页面总是卡在Deploy页面

解决办法:
#可能是升级gitlab过程中,安装包出现了问题导致的gitlab一直停留在部署页面的操作
#所以,只需要删除 /public目录下的那个index.html页面即可
sudo gitlab-ctl deploy-page down
#输出如下内容
# rm -f /opt/gitlab/embedded/service/gitlab-rails/public/index.html

网友评论