Gitlab概述
1.Gitlab介绍
Gitlab一个git的开源的版本管理系统,实现一个托管的Git项目仓库,使用web界面进行访问公开或者私有项目。
官方的文档地址:
2.Gitlab服务构成
Nginx:静态web服务器。
gitlab-shell:用于处理Git命令和修改authorized keys列表。
gitlab-workhorse: 轻量级的反向代理服务器。
logrotate:日志文件管理工具。
postgresql:数据库。
redis:缓存数据库。
sidekiq:用于在后台执行队列任务(异步执行)。
Gitlab的安装部署(主机方式)
至少有4GB的RAM运行GitLab。
1.通过rpm包进行安装
将对应版本的gitlab-ce下载到本地后,直接yum安装即可
1
yum install -y gitlab-ce-XXXX.rpm
2.配置yum源进行安装
在 /etc/yum.repos.d/ 下新建 gitlab-ce.repo,写入如下内容:
1
2
3
4
5
6
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
Repo_gpgcheck=0
Enabled=1
Gpgkey=https://packages.gitlab.com/gpg.key
然后创建cache,再直接安装gitlab-ce
1
2
3
4
5
6
7
yum makecache
yum install -y gitlab-ce-13.6.1
#安装指定版本
yum install gitlab-ce -y --nogpgcheck
# 如果安装时出现gpgkey验证错误,只需在安装时明确指明不进行gpgkey验证
3.Gitlab的配置
配置文件地址 /etc/gitlab/gitlab.rb
1
2
3
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.19.134:8099'
puma['port'] = 8099
关于其他参数的配置
从GitLab 13.0开始,Puma 是默认的 Web服务器,并且 Unicorn 默认情况下处于禁用状态
文档地址:
https://docs.gitlab.com/ee/administration/operations/puma.html
修改好配置文件后,要使用 gitlab-ctl reconfigure 命令重载一下配置文件,否则不生效。
1
gitlab-ctl reconfigure
-
Gitlab常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
gitlab-ctl start # 启动所有 gitlab 组件
gitlab-ctl stop # 停止所有 gitlab 组件
gitlab-ctl restart # 重启所有 gitlab 组件
gitlab-ctl status # 查看服务状态
gitlab-ctl reconfigure # 启动服务
gitlab-ctl show-config # 验证配置文件
gitlab-ctl tail # 查看日志
gitlab-rake gitlab:check SANITIZE=true --trace # 检查gitlab
vim /etc/gitlab/gitlab.rb # 修改默认的配置文件
Gitlab安装部署(Docker方式)
1.gitlab镜像拉取
gitlab的镜像官网地址如下:
https://hub.docker.com/r/gitlab/gitlab-ce/tags
1
2
# gitlab-ce为稳定版本,后面不填写版本则默认pull最新latest版本
$ docker pull gitlab/gitlab-ce
2.运行gitlab镜像
1
2
3
4
5
6
7
$ docker run -d -p 443:443 -p 80:80 -p 30022:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录
这里将gitlab中22端口映射到了30022端口,将数据目录映射到了外层
3.配置gitlab
第二步虽然起来了,但是仍然无法访问,需要修改配置参数,文件已映射,/home/gitlab/config/gitlab.rb
1
2
3
4
5
6
7
8
9
10
# gitlab.rb文件内容默认全是注释
$ vim /home/gitlab/config/gitlab.rb
# 配置http协议所使用的访问地址,不加端口号默认为80
external_url 'http://192.168.19.134'
# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.19.134'
gitlab_rails['gitlab_shell_ssh_port'] = 30022 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出
如需修改端口如下
1
2
3
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.19.134:8099'
puma['port'] = 8099
重启重启gitlab容器
1
$ docker restart gitlab
此时等待一会,即可,ssh端口也是30022端口 http://IP:端口
Gitlab密码忘记设置
Gitlab第一次访问或,需要设置root的密码,即账号为root,如不小心把密码忘了,参考如下
1
2
3
4
5
6
进入 GitLab 控制台
gitlab-rails console -e production
执行命令: user = User.where(id: 1).first,此 user 则表示 root 用户
执行命令:user.password = 'secret_pass’修改密码, user.password_confirmation = ‘secret_pass’ 确认密码
执行命令: user.save!
执行命令: exit