内容
隐藏
GitLab 是一个基于 Web 的开源 Git 软件仓库管理器,用 Ruby 编写,包括 wiki,问题管理,代码审查,监控以及持续集成和部署。它使开发人员能够创建,审查和部署他们的项目。
1.系统环境
upsmart@node01:~cat /etc/issue
Ubuntu 16.04.5 LTS \n \l
内核版本
upsmart@node01:~ uname -a
Linux node01 4.4.0-131-generic #157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
服务器要求
至少 4GB 的 RAM 内存
2 核心
至少 2GB 的交换空间。
2.安装所需的依赖项
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates
3.安装 Postfix
sudo apt-get install -y postfix
4.安装 GitLab
4.1 将 GitLab 软件仓库添加到系统源列表
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
4.2 安装 GitLab 软件包
sudo apt install gitlab-ce -y
4.3 设置 GitLab URL
sudo mv /etc/gitlab/gitlab.rb{,.bak}
sudo vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.123.39'
如果是域名则需要
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']
启动
sudo gitlab-ctl reconfigure
查看状态
sudo gitlab-ctl status
4.4 通过 Web Interface 配置 GitLab
5配置邮件告警
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.163.com"
gitlab_rails['smtp_port'] = 25
gitlab_rails['smtp_user_name'] = "xxxxx"
gitlab_rails['smtp_password'] = "xxxxxxx"
gitlab_rails['smtp_domain'] = "smtp.163.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = false
6 备份数据恢复数据
6.1 手动备份
gitlab-rake gitlab:backup:create RAILS_ENV=production
备份后的文件一般是位于/var/opt/gitlab/backups下
增加保留最近7天的备份:
vim /etc/gitlab/gitlab.rb
gitlab_rails['backup_keep_time'] = 604800
6.2 恢复数据
gitlab-rake gitlab:backup:restore RAILS_ENV=production BACKUP=/var/opt/gitlab/backups/具体备份文件
7其他一些配置
7.1 修改时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
7.2 启用gitlab的https功能
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/#{node['fqdn']}.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/#{node['fqdn']}.key"
查看结果
sudo cat /var/opt/gitlab/nginx/conf/gitlab-http.conf
7.3 解决Gitlab占用大量内存
编辑gitlab配置文件/etc/gitlab/gitlab.rb
取消注释修改以下
unicorn['worker_processes'] = 2
保存退出执行gitlab-ctl reconfigure使其生效
注意:此值最小值是2,如果设置成1,服务器可能会卡死。
8 gitlab汉化
目前汉化最新版只到Version v12.0.3
查看gitlab版本
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
12.1.3
请先使用官方包安装或升级完成,确认当前版本。
gitlab_version=(sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION)
克隆汉化版本库
git clone https://gitlab.com/xhang/gitlab.git
# 导出12.0.3版本的汉化补丁
gitlab_version=12.0.3
git diff v{gitlab_version} v{gitlab_version}-zh>../{gitlab_version}-zh.diff
# 停止 gitlab
sudo gitlab-ctl stop
sudo patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 <12.0.3-zh.diff
确定没有 .rej 文件,重启 GitLab 即可。
sudo gitlab-ctl start
执行重新配置命令
sudo gitlab-ctl reconfigure
如果汉化中出现问题,请重新安装 GitLab
参考
https://blog.51cto.com/14157628/2473599
https://about.gitlab.com/install/#ubuntu
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫