Gitlab安装部署

GitLab是一个开源的DevOps平台,用于管理Git仓库、代码审查、持续集成与部署、监控等整个软件开发的生命周期。GitLab提供了一个统一的工具来协助软件开发过程,从代码的编写和审查到应用部署和监控。

安装Docker

安装部署详情请参考:https://isunty.com/archives/docker

安装Gitlab

首先搜索Gitlab镜像

docker search gitlab

下载Gitlab社区免费版镜像

docker pull gitlab/gitlab-ce

查看镜像是否下载成功

docker images

运行Gitlab镜像

docker run -d -p 9443:443 -p 9080:80 -p 9022:22 --restart always --name gitlab01 --hostname gitlab01 -v /data/gitlab/etc/gitlab:/etc/gitlab -v /data/gitlab/var/log/gitlab:/var/log/gitlab -v /data/gitlab/var/opt/gitlab:/var/opt/gitlab -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker --shm-size 2g --privileged=true gitlab:1.0

参数

说明

--privileged=true

让容器获取宿主机root权限

-v

映射到容器内的路径固定

--shm-size 2g

不配置或者配置过小会导致500错误

进入容器

docker exec -it gitlab01 bash

修改gitlab.rb配置文件

vi /etc/gitlab/gitlab.rb
#GitLab实例的外部UR
external_url 'http://192.167.253.229'
#定义了Git SSH的主机地址
gitlab_rails['gitlab_ssh_host'] = '192.167.253.229'
#定义了Git SSH的端口号
gitlab_rails['gitlab_shell_ssh_port'] = 9022
#定义了GitLab等待webhook响应的超时时间,以秒为单位
gitlab_rails['webhook_timeout'] = 90
#定义了GitLab克隆或拉取仓库的超时时间,以秒为单位
gitlab_rails['git_timeout']= 90

更新配置

gitlab-ctl reconfigure

编辑gitlab.yml文件使其同步

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
host: 192.167.253.229
port: 80
https: false

重启gitlab服务

gitlab-ctl restart

浏览器访问gitlab网页:http://192.167.253.229

第一次访问,会强制修改root密码

进入容器

docker exec -it gitlab01 bash

进入控制台

gitlab-rails console -e production

查询id为1的用户,id为1的用户是超级管理员

user = User.where(id:1).first

修改密码为123456

user.password='123456'

保存

user.save!

退出

exit

浏览器访问gitlab网页:http://192.167.253.229

GitLab官方文档请访问:https://docs.gitlab.com/