GitLab安装与使用笔记

安装

系统:centos7 内存4G及以上 GitLab版本:11.6.1-ee 主要参考:https://about.gitlab.com/install/#centos-7 https://blog.csdn.net/musuny/article/details/78548868
https://blog.csdn.net/qq_39256527/article/details/81238055
http://blog.51cto.com/207698/2133703
https://blog.csdn.net/yongche_shi/article/details/78677163

环境配置

1. 允许ssh和http访问
sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
// 没开防火墙可以不用下面的
// sudo firewall-cmd --permanent --add-service=http
// sudo systemctl reload firewalld
2. 下载
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
3. 使用yum安装

原文是sudo EXTERNAL_URL="http://gitlab.example.com" yum install -y gitlab-ee 之前不知道怎么配置EXTERNAL_URL所以没配置这个,安装完成后可以在配置文件/etc/gitlab/gitlab.rb里修改。 EXTERNAL_URL可以使用ip地址

sudo yum install -y gitlab-ee

安装完毕后会显示gitlab的logo字符画

修改配置

vim可以使用: + /关键词搜索,按n键向下查找,shift + n向上查找 修改完毕后一定要使用sudo gitlab-ctl reconfigure刷新,最好再重启一下sudo gitlab-ctl restart

默认配置会占用808080端口,使用postgresql作为数据库,开启自带的redisnginx

1. 打开配置文件
vim /etc/gitlab/gitlab.rb
2. 修改访问地址

如果不指定端口号,默认是80端口

external_url 'http://192.168.1.123:8086'
3. 修改unicorn端口
unicorn['port'] = 8089
gitlab_workhorse['auth_backend'] = "http://localhost:8089"
4. 修改超时时间
gitlab_rails['webhook_timeout'] = 90
5. 使用mysql数据库

参考1 参考2

安装mysql2

cd /opt/gitlab/embedded/bin
./gem install mysql2

配置/etc/gitlab/gitlab.rb

postgresql['enable'] = false
gitlab_rails['db_adapter'] = "mysql2"
gitlab_rails['db_encoding'] = "utf8"
# gitlab_rails['db_collation'] = nil
gitlab_rails['db_database'] = "gitlab"
# gitlab_rails['db_pool'] = 10
gitlab_rails['db_username'] = "root"
gitlab_rails['db_password'] = "pass"
gitlab_rails['db_host'] = "127.0.0.1"
gitlab_rails['db_port'] = 3306
6. 配置redis

参考

redis['enable'] = false
gitlab_rails['redis_host'] = "127.0.0.1"
gitlab_rails['redis_port'] = 6379
# gitlab_rails['redis_ssl'] = false
gitlab_rails['redis_password'] = "pass"
gitlab_rails['redis_database'] = 1
7. 配置邮箱

邮箱要开启SMTP 注意邮箱域名要一致(下方填写的bb.com,不是服务器域名)

gitlab_rails['gitlab_email_enabled'] = true
gitlab_rails['gitlab_email_from'] = '[email protected]'
gitlab_rails['gitlab_email_display_name'] = 'bb'
gitlab_rails['gitlab_email_reply_to'] = '[email protected]'
gitlab_rails['gitlab_email_subject_suffix'] = 'gitlab'

腾讯企业邮的配置 腾讯企业邮文档

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.exmail.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "[email protected]"
gitlab_rails['smtp_password'] = "pass"
gitlab_rails['smtp_domain'] = "bb.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true

刷新配置后,可以使用以下命令测试一下

gitlab-rails console

比较慢,等待出现类似Loading production environment (Rails 5.0.7)
irb(main):001:0>
后输入以下命令发送测试邮件

Notify.test_email('邮箱地址', '主题', '摘要').deliver_now

收到邮件后,使用exit命令结束

错误:501 mail from address must be same as authorization user(邮箱域名不一致)

8. 关闭注册入口

需要先激活管理员账号,并且登录

访问http://服务器/admin,例如按照上方配置:http://192.168.1.123:8086/admin,或者打开主页后,点击标题栏Admin Area(扳手图标)

左边标签栏Settings -> Sign-up restrictions -> Expand -> 去掉Sign-up enabled的勾选

常见异常

500 Whoops, something went wrong on our end.

/etc/gitlab/gitlab.rb配置错误,例如redis未配置,数据库未配置

502-Whoops, GitLab is taking too much time to respond
  1. 端口被占用
  2. 超时时间太短

常用命令

查看版本

cat /opt/gitlab/embedded/service/gitlab-rails/VERSION

刷新配置

gitlab-ctl reconfigure

启动、关闭和重启

gitlab-ctl start
gitlab-ctl stop
gitlab-ctl restart

查看运行日志

gitlab-ctl tail

猜你喜欢

转载自www.cnblogs.com/xwbz/p/10213762.html