Linux搭建gitlab

396 阅读3分钟

GitLab基本介绍

GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。

与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。

它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

本篇教程将教你如何安装部署及使用GitLab。

Git家族成员

Git:是一种版本控制系统,是一个命令,是一种工具。

Gitlib:是用于实现Git功能的开发库。

Github:是一个基于Git实现的在线代码托管仓库,包含一个网站界面,向互联网开放。

GitLab:是一个基于Git实现的在线代码仓库托管软件,你可以用gitlab自己搭建一个类似于Github一样的系统,一般用于在企业、学校等内部网络搭建git私服。

Gitlab服务构成

Nginx:静态web服务器。

gitlab-shell:用于处理Git命令和修改authorized keys列表。

gitlab-workhorse: 轻量级的反向代理服务器。

logrotate:日志文件管理工具。

postgresql:数据库。

redis:缓存数据库。

sidekiq:用于在后台执行队列任务(异步执行)。

unicorn:An HTTP server for Rack applications,GitLab Rails应用是托管在这个服务器上面的。

Gitlab工作流程

图片8.png

安装与部署

通过docker部署

第一步:拉取镜像

docker pull gitlab/gitlab-ce

第二步:创建gitlab配置

创建GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 容器启动后可以映射到本机,然后后续就可以直接在主机查看和编辑了,不用再进入容器操作,便于日后升级, 因此我们先准备这三个目录。

mkdir -p /home/gitlab/etc

# 数据文件
mkdir -p /home/gitlab/log

# 日志文件
mkdir -p /home/gitlab/data

第三步:启动容器

docker run --publish 8443:443 \
 --publish 8090:80 \ 
--name gitlab \ 
--privileged=true \
--restart unless-stopped \
 -v /home/gitlab/etc:/etc/gitlab \
 -v /home/gitlab/log:/var/log/gitlab \ 
-v /home/gitlab/data:/var/opt/gitlab \
 gitlab/gitlab-ce:latest;

第四步:修改配置文件

修改gitlab.rb

修改 /home/gitlab/etc/gitlab.rb 把external_url改成部署机器的域名或者IP地址

放开注释的 external_url,并修改值为docker的ip地址:

external_url 'http://10.211.55.4'

第五步:访问gitlab

image.png

用户名:root

初次访问gitlab界面会让你设置密码,如果没有则可自行更改

密码更改方式

  1. docker exec进入到容器中
  2. 执行gitlab-rails console production命令
  3. user = User.where(id: 1).firs
  4. user.password = 'secret_pass'
  5. user.save!
  6. 退出容器

第六步:进入gitlab,设置中文

点击设置

image.png

选择简体中文,并保存

image.png

退出重进,即可生效