Gitlab 简介
Gitlab 是一个基于git私有代码管理的服务集成。
Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表。
gitlab-workhorse: 轻量级的反向代理服务器。
logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。
Gitlab 部署
Centos gitlab 部署
1、添加 gitlab 源
vim /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key
2、安装依赖环境
yum install curl openssh-server openssh-clients postfix cronie patch git
3、安装gitlab
yum install gitlab-ce --nogpgcheck
4、配置文件修改
vim /etc/gitlab/gitlab.rb
# 默认80端口、其他端口配置:http://127.0.0.1:8080
external_url = 'http://本地IP或域名'
5、启动服务
systemctl start postfix
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
Ubuntu gitlab 部署
apt-get安装
1、安装依赖环境
sudo apt-get install curl openssh-server ca-certificates postfix patch git
2、下载官方源
sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
3、安装
sudo apt-get install gitlab-ce
4、配置文件修改
vim /etc/gitlab/gitlab.rb
# 默认80端口、其他端口配置:http://127.0.0.1:8080
external_url = 'http://本地IP或域名'
5、启动
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
deb包安装
1、安装依赖环境
sudo apt-get install curl openssh-server ca-certificates postfix patch git
2、下载deb包
sudo curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/xenial/gitlab-ce-XXX.deb/download
3、安装
sudo dpkg -i gitlab-ce-XXX.deb
4、配置文件修改
vim /etc/gitlab/gitlab.rb
# 默认80端口、其他端口配置:http://127.0.0.1:8080
external_url = 'http://本地IP或域名'
5、启动
sudo gitlab-ctl reconfigure
sudo gitlab-ctl start
Gitlab 汉化
1、停止gitlab
gitlab-ctl stop
2、创建目录并进入目录内
mkdir -p /opt/gitlabhhb &&cd /opt/gitlabhhb
3、克隆汉化项目到本地
git clone https://gitlab.com/xhang/gitlab.git
4、比较汉化标签和原标签,导出 patch 用的 diff 文件.进入刚才的目录git clone 的目录。 根据版本汉化我的版本是9.0.0
cd /opt/gitlabhhb/gitlab
git diff v9.0.0 v9.0.0-zh > ../9.0.0-zh.diff
5、导入9.0.0-zh.diff文件到 GitLab
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /opt/gitlabhhb/9.0.0-zh.diff
6、重新配置并启动GitLab
gitlab-ctl start
gitlab-ctl reconfigure
Gitlab 邮件配置
gitlab 管理员创建用户时会给用户邮件发送链接地址所以,需要配置邮件服务。
1、修改配置文件
vim /etc/gitlab/gitlab.rb
gitlab_rails['gitlab_email_from'] = xxx@126.com'
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.126.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "xxx@126.com"
gitlab_rails['smtp_password'] = "xxx"
gitlab_rails['smtp_domain'] = "smtp.126.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
2、重启服务
gitlab-ctl stop
gitlab-ctl start
gitlab-ctl reconfigure
3、测试发送邮件
命令:gitlab-rails console
Notify.test_email('发送人@xxx.com', 'Message Subject', 'Message Body').deliver_now
Gitlab 常用指令
- # 启动所有 gitlab 组件;
- gitlab-ctl start
- # 停止所有 gitlab 组件;
- gitlab-ctl stop
- # 重启所有 gitlab 组件;
- gitlab-ctl restart
- # 查看服务状态;
- gitlab-ctl status
- # 启动服务;
- gitlab-ctl reconfigure
- # 修改默认的配置文件;
- vim /etc/gitlab/gitlab.rb
- # 检查gitlab;
- gitlab-rake gitlab:check SANITIZE=true --trace
- # 查看日志;
- sudo gitlab-ctl tail
- # 控制台
- gitlab-rails console
访问问题
访问页面报403:https://cloud.tencent.com/developer/article/1144530