环境 & 软件
- CentOS7 配置内存2G以上
- GitLab CE (社区版)
GitLab 的服务
- Nginx:静态web服务器
- gitlab-shell:用于处理Git命令和修改authorized keys列表
- gitlab-workhorse:轻量级的反向代理服务器
- logrotate:日志文件管理工具
- postgresql:数据库
- redis:缓存数据库
- sidekiq:用于在后台执行队列任务
- unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的
GitLab 安装
- 安装并配置必要的依赖项
在CentOS 7(RedHat/Oracle/Scientific Linux 7)上,以下命令还将在系统防火墙中打开HTTP和SSH访问
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
接下来,安装Postfix以发送通知电子邮件。如果要使用其他解决方案发送电子邮件,请跳过此步骤并在安装GitLab后配置外部SMTP服务器。
sudo yum install postfix
sudo systemctl enable postfix
sudo systemctl start postfix
在Postfix安装期间,可能会出现配置屏幕。选择“Internet Site”并按Enter键。使用服务器的外部DNS作为“邮件名称”,然后按Enter键。如果出现其他屏幕,请继续按Enter键接受默认值。
- 添加GitLab软件包存储库并安装软件包
添加GitLab包存储库
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
接下来,安装GitLab包。更改https://gitlab.example.com
为您要访问GitLab实例的URL。安装将自动配置并启动该URL的GitLab。
对于https://
URL,GitLab将自动使用Let's Encrypt请求证书,该证书需要入站HTTP访问和有效的主机名。您也可以使用自己的证书或只使用http://
。
sudo EXTERNAL_URL="https://gitlab.example.com" yum install -y gitlab-ce
看到这图形说明安装成功
安装成功
- 浏览到主机名并登录
在您第一次访问时,您将被重定向到密码重置屏幕。提供初始管理员帐户的密码,您将被重定向回登录屏幕。使用默认帐户的用户名root
登录。
GitLab 卸载
- 停止 GitLab
sudo gitlab-ctl stop
- 卸载 GitLab
sudo rpm -e gitlab-ce
- 查看 GitLab 进程
ps -ef|grep gitlab
- 杀掉第一个守护进程( 进程序号每人都不一样要注意)
kill -9 3370
-
再次查看 GitLab 进程是否存在
-
删除 GitLab 文件
// 删除所有包含gitlab的文件及目录
find / -name *gitlab*|xargs rm -rf
// 删除 gitlab-ctl uninstall 时自动在 root 下备份的配置文件
find / -name gitlab |xargs rm -rf
通过几步就可以彻底卸载 GitLab
GitLab 常用命令
// 启动所有 GitLab 组件
gitlab-ctl start
// 停止所有 GitLab 组件
gitlab-ctl stop
// 重启所有 GitLab 组件
gitlab-ctl restart
// 查看服务状态
gitlab-ctl status
// 启动服务
gitlab-ctl reconfigure
// 修改默认的配置文件
vi /etc/gitlab/gitlab.rb
// 检查 GitLab
gitlab-rake gitlab:check SANITIZE=true --trace
// 查看日志
sudo gitlab-ctl tail
GitLab 常见错误
安装过程中问题处理
解决方案:
- 耐心等吧(10分钟左右)
- 按住 CTRL+C 强制结束
- 运行
sudo systemctl restart gitlab-runsvdir
- 再次执行
sudo gitlab-ctl reconfigure
访问时报 502 错误
解决方案:
- 可能 unicorn 服务与 tomcat 端口冲突,配置下 unicorn 使用端口应该就可以了
vi /etc/gitlab/gitlab.rb
修改为其他端口
unicorn['port'] = 9090
重启配置
gitlab-ctl reconfigure
- 内存不够崩溃,增至2G内存
网友评论