GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
1. GitLab安装与配置
1.1. 基础环境准备
- 1 [root@mini04 ~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix
- 2 ………………
- 3 [root@mini04 ~]# systemctl start postfix
1.2. 配置yum源
注:由于网络问题,国内用户,建议使用清华大学的镜像源进行安装:
- 1 [root@mini04 ~]# vim /etc/yum.repos.d/gitlab-ce.repo
- 2 [gitlab-ce]
- 3 name=gitlab-ce
- 4 baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
- 5 repo_gpgcheck=0
- 6 gpgcheck=0
- 7 enabled=1
- 8 gpgkey=https://packages.gitlab.com/gpg.key
1.3. 更新本地yum缓存
- 1 [root@mini04 ~]# yum makecache
- 2 ………………
1.4. 安装GitLab
- 1 [root@mini04 ~]# yum install -y gitlab-ce
- 2 ………………
1.5. 配置修改
- 1 [root@mini04 ~]# vim /etc/gitlab/gitlab.rb
- 2 ………………
- 3 ## GitLab URL
- 4 ##! URL on which GitLab will be reachable.
- 5 ##! For more details on configuring external_url see:
- 6 ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
- 7 # external_url 'http://gitlab.example.com'
- 8 # 能够解析
- 9 external_url 'http://mini04'
1.6. 配置并启动gitlab-ce
- 1 [root@mini04 ~]# gitlab-ctl reconfigure
- 2 ………………
1.7. 查看gitlab状态
- 1 [root@mini04 ~]# gitlab-ctl status
- 2 run: alertmanager: (pid 4075) 27s; run: log: (pid 4180) 25s
- 3 run: gitaly: (pid 4004) 28s; run: log: (pid 4016) 28s
- 4 run: gitlab-monitor: (pid 4025) 28s; run: log: (pid 4045) 27s
- 5 run: gitlab-workhorse: (pid 3983) 28s; run: log: (pid 4049) 27s
- 6 run: logrotate: (pid 3529) 90s; run: log: (pid 4051) 27s
- 7 run: nginx: (pid 3506) 96s; run: log: (pid 4050) 27s
- 8 run: node-exporter: (pid 3710) 78s; run: log: (pid 4017) 28s
- 9 run: postgres-exporter: (pid 4096) 26s; run: log: (pid 4196) 25s
- 10 run: postgresql: (pid 3229) 140s; run: log: (pid 3972) 29s
- 11 run: prometheus: (pid 4052) 27s; run: log: (pid 4070) 27s
- 12 run: redis: (pid 3154) 146s; run: log: (pid 4021) 28s
- 13 run: redis-exporter: (pid 3783) 66s; run: log: (pid 4041) 27s
- 14 run: sidekiq: (pid 3475) 103s; run: log: (pid 3974) 29s
- 15 run: unicorn: (pid 3432) 110s; run: log: (pid 3973) 30s
1.8. GitLab常用命令
- 1 gitlab-ctl start # 启动所有 gitlab 组件;
- 2 gitlab-ctl stop # 停止所有 gitlab 组件;
- 3 gitlab-ctl restart # 重启所有 gitlab 组件;
- 4 gitlab-ctl status # 查看服务状态;
- 5 gitlab-ctl reconfigure # 启动服务;
- 6 vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
- 7 gitlab-ctl tail # 查看日志;
- 8 gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab;
2. GitLab使用
2.1. 首次登陆

首次登陆会要求修改root用户的密码。

之后对到登陆页面,使用root用户登录即可。
2.2. 添加SSH Key信息
- 1 [root@mini04 ~]# ssh-keygen -t rsa
- 2 Generating public/private rsa key pair.
- 3 Enter file in which to save the key (/root/.ssh/id_rsa):
- 4 Created directory '/root/.ssh'.
- 5 Enter passphrase (empty for no passphrase):
- 6 Enter same passphrase again:
- 7 Your identification has been saved in /root/.ssh/id_rsa.
- 8 Your public key has been saved in /root/.ssh/id_rsa.pub.
- 9 The key fingerprint is:
- 10 SHA256:ACvHut11cMKDaL1QzsrL3x23OyUl9cd7+kLfFW30cLM root@mini04
- 11 The key's randomart image is:
- 12 +---[RSA 2048]----+
- 13 | . . |
- 14 | . O o o.o|
- 15 | . B * = . . *=|
- 16 | * o o = . .EB|
- 17 | . o . S . o .+|
- 18 | + o . . . o.o|
- 19 | . + . . .+ o+|
- 20 | . . . o..o o|
- 21 | . . . oo o.|
- 22 +----[SHA256]-----+
- 23 [root@mini04 ~]# ll -d .ssh/
- 24 drwx------ 2 root root 38 Sep 17 22:26 .ssh/
- 25 [root@mini04 ~]# cd .ssh/
- 26 [root@mini04 .ssh]# ll
- 27 total 8
- 28 -rw------- 1 root root 1679 Sep 17 22:26 id_rsa
- 29 -rw-r--r-- 1 root root 393 Sep 17 22:26 id_rsa.pub
- 30 [root@mini04 .ssh]# cat id_rsa.pub
- 31 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCpqkXHf8f7UQSPVH0E40pydotJChFQliRSSmHQezVGh91AB++YfUeGPHHDWDgLCjefxCc+KnJrqJPrUR02K1OwJoC9X4K2x0+gJekEpfs9Yb7Y5hE5XiGz4Z6X+ybN015u3G9czVhV5XAT2M4q+couVgaPpf2npfqv9eqhTuh1W0336sKIvAj1N8iXzfSDbdaERCP2NscnTOrgmHZ8aVMvyyruslvQoNjgQN06/91R48aSqwD++kLOTChGo7qNC10H315UR7cX2MKME9ssuyf77azFLYYdBrALR//YjOoid/jkTHkCLO1ZvHdqakWK7YAHOwV/RocTcm71hqq3mLfz root@mini04



GitLab的页面使用,请自行百度参考。git的命令行使用,可参考前面的几篇博文。