基于Docker搭建Gitlab社区版

前言

  • 之前搭建Gitlab是直接在服务器上搭建的,本次基于Docker对Gitlab服务搭建及使用进行了整理。

搜索和拉取镜像

  • 在远端仓库中搜索Gitlab
docker search gitlab
  • 拉取最新镜像
docker pull gitlab/gitlab-ce

运行镜像及配置

新建数据挂载路径

  • 新建配置文件挂载文件夹
mkdir -p /var/gitlab/etc
  • 新建日志挂载文件夹
mkdir -p /var/gitlab/logs
  • 新建数据挂载文件夹
mkdir -p /var/gitlab/data

运行Gitlab镜像

  • 运行Gitlab镜像并指定相关配置地址
docker run \    --detach \    --name gitlab \    --hostname 192.168.233.201:9999 \    --publish 2222:22 \    --publish 8443:443 \    --publish 9998:80 \    --publish 9999:9999 \    --restart always \    --restart unless-stopped \    -v /var/gitlab/etc:/etc/gitlab \    -v /var/gitlab/logs:/var/log/gitlab \    -v /var/gitlab/data:/var/opt/gitlab \    gitlab/gitlab-ce:latest

注:初次启动需要初始化配置,启动稍慢2~3分钟,访问报502错误稍等一会再次刷新即可

docker run \
–detach \ #后台运行
–name gitlab \ #镜像名称
–hostname 192.168.233.201:9999 \ #容器主机名称,如不配置会默认为DockerID 此时仓库地址会存在问题
–publish 2222:22 \ #内部sshd服务端口
–publish 8443:443 \ #https端口
–publish 9999:9999 \ #访问端口映射,仓库也可以配置单独的外部地址
–restart always \
–restart unless-stopped \
-v /var/gitlab/etc:/etc/gitlab \ #配置文件
-v /var/gitlab/logs:/var/log/gitlab \ #日志文件
-v /var/gitlab/data:/var/opt/gitlab \ #数据存储
gitlab/gitlab-ce:latest #官方镜像源

配置文件(未指定hostname时)

  • 启动效果,资源仓库地址为dockerid,需要调整
  • 编辑gitlab.rb配置仓库访问地址,默认初始化为docker的host,需要改为外部地址
docker exec -t -i gitlab vim /etc/gitlab/gitlab.rb

external_url http://192.168.233.201:9999

  • 修改完成,重新生成配置
docker exec -t -i gitlab gitlab-ctl reconfigure

注:网上大多数都是说/var/gitlab/data/gitlab-rails/etc/gitlab.yml文件,此文件是根据gitlab.rb生成的,直接修改此文件如果重新生成配置,修改就会被覆盖,如图所示

基础使用教程

  • 访问Gitlab服务
http://192.168.233.201:9999

基础设置及展示

  • 首次访问会让我们初始化root密码
  • 登陆root用户
  • 默认首页展示

新建项目组

  • 作用:对项目、对人员可以进行分组管理
  • 点击创建组按钮
  • 添加组信息
  • 组中还可以在细分建立子分组或项目(必须对组拥有owner权限用户才可以)

新建项目

  • 点击创建项目按钮
    注:也可以直接在分组中选择New project
  • 选择组并填写相关信息

用户注册

  • 一般公司内部会关闭注册功能

管理员新建用户

  • 点击新建用户按钮
  • 添加相关信息创建用户

将用户添加到组

  • 将用户添加到组中,使其对组内项目有使用权限

项目授权

  • 待续…

上传项目

  • 待续…

下载项目

  • 待续…