GitLab学习记录 1 --- 安装

本文详述了如何在Docker环境下安装和配置GitLab,包括拉取镜像、运行容器、设置配置文件,以及创建用户、项目等步骤。重点介绍了通过docker-compose方式启动GitLab的优势,确保SSH和HTTP方式都能正常克隆代码。同时,还提供了禁止外部注册、设置用户头像等管理功能的说明。
摘要由CSDN通过智能技术生成

目录

1. 概述

2. 环境

3. 安装

3.1 拉取镜像

3.2 查看镜像

3.3 运行

3.3.1 run方式

3.3.2 docker-compose方式

3.4 界面

3.4.1 登录页面

3.4.2 创建用户

3.4.3 用户头像

3.4.4 禁止注册

3.4.5 创建项目

3.4.6 SSH Clone

4. 注意事项

4.1 中文社区版

4.2 配置文件

4.3 域名值


1. 概述

        Gitlab是利用Ruby on Rails的一个开源版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释,可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库,团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码版段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。

官网: https://about.gitlab.com/

使用说明: https://docs.gitlab.com/ce/README.html (社区版说明)

Docker使用说明: https://docs.gitlab.com/omnibus/docker/README.html

2. 环境

  • 使用Docker安装,因为原bin安装非常困难,特别是Ruby on Rails。
  • 使用官方版gitlab/gitlab-ce:latest
  • 硬件要求: 内存大于2048M,磁盘转数大于5400转。

3. 安装

3.1 拉取镜像

[root@t40 ~]# docker pull gitlab/gitlab-ce:latest

3.2 查看镜像

[root@t40 ~]# docker image ls
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
gitlab/gitlab-ce         latest    33dd577fc0c8   5 days ago    2.23GB

3.3 运行

3.3.1 run方式

  • 这种方式不能直接修改位于/data/gitlab/en/config下的gitlab.rb配置文件,导致很多配置项不能修改,比如,external_url等。
  • git clone代码时,ssh因为gitlab.rb中端口没有修改,也不能直接通过ssh拉取代码。只能使用http方式拉取代码。
  • 当然可以修改gitlab.rb配置项,但是比较繁琐。不建议使用。
[root@t40 ~]# docker run --detach \
                     --hostname 192.168.64.40 \    
                     --publish 6443:443 --publish 6080:80 --publish 6222:22 \
                     --name gitlab-en \
                     --restart always \
                     --volume /data/gitlab/en/config:/etc/gitlab \
                     --volume /data/gitlab/en/data:/var/opt/gitlab \
                     --volume /var/log/gitlab/en:/var/log/gitlab \
                     -e 'TZ=Asia/Shanghai' \
                     gitlab/gitlab-ce:latest

3.3.2 docker-compose方式

  • 修改gitlab.rb中的三项内容,以其使 git clone能通过 http、ssh方式同时工作。
  • 在宿主机、客户端的hosts文件配置该容器的域名映射 xxx test.gitlab.com
  • 推荐使用这种方式。
[root@t40 ~]# cat docker-compose.yml 
version: '3'
services: 
   web:
       image:  'gitlab/gitlab-ce:latest'
       restart: always
       hostname: test.gitlab.com
       container_name: gitlab-en-compose 
       environment: 
          TZ: 'Asia/Shanghai'
          GITLAB_OMNIBUS_CONFIG: |
           external_url 'http://test.gitlab.com'
           gitlab_rails['gitlab_shell_ssh_port'] = 6222
           gitlab_rails['time_zone'] = 'Asia/Shanghai'
       ports:
          - '80:80'
          - '8443:443'
          - '6222:22'
       volumes:
          - /data/gitlab/en/config:/etc/gitlab
          - /data/gitlab/ec/data:/var/opt/gitlab
          - /var/log/gitlab/en:/var/log/gitlab 
# 运行
[root@t40 ~]# docker-compose up -d
/usr/lib/python2.7/site-packages/paramiko/transport.py:33: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.hazmat.backends import default_backend
Creating gitlab-en-compose ... done
# 启动后的容器
[root@t40 ~]# docker ps -a
CONTAINER ID   IMAGE                     COMMAND             CREATED         STATUS                            PORTS                                                             NAMES
37173e42a16f   gitlab/gitlab-ce:latest   "/assets/wrapper"   8 seconds ago   Up 6 seconds (health: starting)   0.0.0.0:80->80/tcp, 0.0.0.0:6222->22/tcp, 0.0.0.0:8443->443/tcp   gitlab-en-compose

3.4 界面

以下介绍几个重要的页面

3.4.1 登录页面

进入首页设置根用户root的密码(8位)。然后用新密码登录。

 

 

3.4.2 创建用户

创建成功后,也可以设置密码,但用新用户在登录时,都必须修改密码。

 

 

3.4.3 用户头像

  • Gitlab使用Gravatar网站为用户分配头像,勾掉,因为是从外网拉取,比较慢。使用Gitlab的默认头像。

 

  • gitlab默认头像

 

3.4.4 禁止注册

如果将GitLab发布到公网,而又不希望其他人注册的话(即只能内部人使用,方便内部人远程拉取代码)。进行以下操作。

 

 

 

3.4.5 创建项目

  • 创建一个项目test-gitlab

 

  • 在创建好的项目中增加一个readme.md文件。注意观察ssh、http方式中的域名为 docker 容器的hostname,且ssh方式的端口为定义的6222端口。

3.4.6 SSH Clone

在客户端生成ssh-key,有公钥(以pub结尾)和私钥。

  • 选择 User Setting。

 

  • 复制公钥

 

4. 注意事项

4.1 中文社区版

twang2218/gitlab-ce-zh

4.2 配置文件

gitlab的配置文件位于 config/gitlab.rb中。页面上显示的选项就是来源于gitlab.rb。

4.3 域名值

当gitlab.rb中的选项保持默认值时,页面上显示如下内容。

  • 新建项目时,浏览器中的域名值与Project URL中的值是相同的,如图

 

  • 在创建好的的项目中,域名值为gitlab所在主机的hostname。用docker运行时,显示的是docker的hostname。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值