gitlab搭建_基于Docker搭建Gitlab社区版

  • Post author:
  • Post category:其他


基于Docker搭建Gitlab社区版

前言

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

搜索和拉取镜像

  • 在远端仓库中搜索Gitlab

    1
    docker search gitlab
  • 拉取最新镜像

    1
    docker pull gitlab/gitlab-ce

运行镜像及配置

新建数据挂载路径

  • 新建配置文件挂载文件夹

    1
    mkdir -p /var/gitlab/etc
  • 新建日志挂载文件夹

    1
    mkdir -p /var/gitlab/logs
  • 新建数据挂载文件夹

    1
    mkdir -p /var/gitlab/data

运行Gitlab镜像

  • 运行Gitlab镜像并指定相关配置地址

    1234567891011121314
    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,需要调整

  • 66ecf67f6a2543068523c1d81475a483.png

  • 编辑gitlab.rb配置仓库访问地址,默认初始化为docker的host,需要改为外部地址

    1
    docker exec -t -i gitlab vim /etc/gitlab/gitlab.rb

    external_url http://192.168.233.201:9999

  • f07e24f3e8390e0f84bd5af5a442db41.png

  • 修改完成,重新生成配置

    1
    docker exec -t -i gitlab gitlab-ctl reconfigure

    注:网上大多数都是说

    /var/gitlab/data/gitlab-rails/etc/gitlab.yml

    文件,此文件是根据

    gitlab.rb

    生成的,直接修改此文件如果重新生成配置,修改就会被覆盖,如图所示

  • cf72af3398ec91b612456e11b9b66a80.png

基础使用教程

  • 访问Gitlab服务

    1
    http://192.168.233.201:9999

基础设置及展示

  • 首次访问会让我们初始化root密码

  • d0857ac0710746353838ca5ee33b74b9.png

  • 登陆root用户

  • 2c5d7639a3a201c3c5a10306684de07b.png

  • 默认首页展示

  • 221fcaf3b43dd96ba3297d0e75581b07.png

新建项目组

  • 作用:对项目、对人员可以进行分组管理

  • 点击创建组按钮

  • 9a071689ca3ee8b778b768b67c04b672.png

  • 添加组信息

  • 077bcabb7f9570b4e17908848391bde1.png

  • 组中还可以在细分建立子分组或项目(必须对组拥有owner权限用户才可以)

  • 579cf58eb8f726637402e14153ea4994.png

新建项目

  • 点击创建项目按钮

    注:也可以直接在分组中选择New project

  • 05cf656c3c1192e25de03f37ec69e265.png

  • 选择组并填写相关信息

  • 05cf656c3c1192e25de03f37ec69e265.png

用户注册

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

管理员新建用户

  • 点击新建用户按钮

  • 00091f6a7c13aade81f7e03a38ed40b8.png

  • 添加相关信息创建用户

  • c769864f6dbebc0560572ff6a53e9f07.png

将用户添加到组

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

  • 7f308625775fceea00d55083d56de963.png

项目授权

  • 待续…

上传项目

  • 待续…

下载项目

  • 待续…