GitLab介绍
GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。
功能:Gitlab 是一个提供代码托管、提交审核和问题跟踪的代码管理平台。对于软件工程质量管理非常重要。
版本:GitLab 分为社区版(CE) 和企业版(EE)。
配置:建议CPU2核,内存2G以上。
Gitlab的服务构成:
Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表。(Ruby)
gitlab-workhorse: 轻量级的反向代理服务器。(go)
GitLab Workhorse是一个敏捷的反向代理。它会处理一些大的HTTP请求,比如文件上传、文件下载、Git push/pull和Git包下载。其它请求会反向代理到GitLab Rails应用,即反向代理给后端的unicorn。
logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。(Ruby)
unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。(Ruby Web Server,主要使用Ruby编写)
GitLab安装
yum安装
官方源地址:https://about.gitlab.com/downloads/#centos6
清华大学镜像源:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce
添加yum源
cat> /etc/yum.repos.d/gitlab-ce.repo<< EOF
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1
EOF
安装依赖包
yum install curl policycoreutils-python openssh-server
安装
yum makecache #清楚缓存
yum install gitlab-ce
Thank you for installing GitLab!
GitLab was unable to detect a valid hostname for your instance.
Please configure a URL for your GitLab instance by setting `external_url`
configuration in /etc/gitlab/gitlab.rb file.
Then, you can start your GitLab instance by running the following command:
sudo gitlab-ctl reconfigure
For a comprehensive list of configuration options please see the Omnibus GitLab readme
https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
Verifying : gitlab-ce-11.10.4-ce.0.el7.x86_64 1/1
Installed:
gitlab-ce.x86_64 0:11.10.4-ce.0.el7
Complete!
更改访问地址
vim /etc/gitlab/gitlab.rb
external_url 'http://10.10.10.7'
重新加载配置
[root@gitlab ~]# gitlab-ctl reconfigure
启动gitlab-ce
[root@gitlab ~]# gitlab-ctl start
ok: run: alertmanager: (pid 11797) 49s
ok: run: gitaly: (pid 11683) 53s
ok: run: gitlab-monitor: (pid 11743) 52s
ok: run: gitlab-workhorse: (pid 11713) 53s
ok: run: logrotate: (pid 11061) 117s
ok: run: nginx: (pid 10999) 123s
ok: run: node-exporter: (pid 11727) 52s
ok: run: postgres-exporter: (pid 11887) 48s
ok: run: postgresql: (pid 10422) 173s
ok: run: prometheus: (pid 11764) 51s
ok: run: redis: (pid 10081) 185s
ok: run: redis-exporter: (pid 11754) 51s
ok: run: sidekiq: (pid 10840) 135s
ok: run: unicorn: (pid 10753) 141s
第一次进入要求设置密码
gitlab常用命令
gitlab-ctl start # 启动所有 gitlab 组件;
2 gitlab-ctl stop # 停止所有 gitlab 组件;
3 gitlab-ctl restart # 重启所有 gitlab 组件;
4 gitlab-ctl status # 查看服务状态;
5 vim /etc/gitlab/gitlab.rb # 修改gitlab配置文件;
6 gitlab-ctl reconfigure # 重新编译gitlab的配置;
7 gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
8 gitlab-ctl tail # 查看日志;
9 gitlab-ctl tail nginx/gitlab_access.log