什么是GitLab

概述

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

基于 Docker 安装 GitLab

我们使用 Docker 来安装和运行 GitLab 中文版,通过pull命令获取镜像,注意:这一步可以省略,配置了docker-compose.yml文件,启动项目docker-compose up发现没有images会自动去官服下载镜像

1
docker pull twang2218/gitlab-ce-zh

在/usr/local/docker/路劲新建目录mkdir gitlab,新建文件touch docker-compose.yml

docker-compose.yml 配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3'
services:
web:
image: 'twang2218/gitlab-ce-zh'
restart: always
hostname: '192.168.40.136' # 主机ip
environment:
TZ: 'Asia/Shanghai'
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://192.168.40.136:8080' # 主机ip和访问端口
gitlab_rails['gitlab_shell_ssh_port'] = 2222
unicorn['port'] = 8888
nginx['listen_port'] = 8080
ports:
- '8080:8080'
- '8443:443'
- '2222:22'
volumes:
- /usr/local/docker/gitlab/config:/etc/gitlab
- /usr/local/docker/gitlab/data:/var/opt/gitlab
- /usr/local/docker/gitlab/logs:/var/log/gitlab

启动项目:

1
2
3
docker-compose up   

注意使用docker-compose 命令必须在docker-compose.yml文件目录下

访问

  • 访问地址:http://ip:8080
  • 端口 8080 是因为我在配置中设置的外部访问地址为 8080,默认是 80
  • 初始化安装完成后效果如下:
  • 设置管理员初始密码,这里的密码最好是 字母 + 数字 组合,并且 大于等于 8 位
  • 配置完成后登录,管理员账号是 root

    注意: 如果服务器配置较低,启动运行可能需要较长时间,请耐心等待,加快启动速度,要求内存必须大于2GB,镜像安装在固态硬盘会快很多

GitLab 的账户管理

使用时请不要直接通过 root 用户操作,需要先创建用户,然后通过创建的用户操作,如果你是管理员还需要为其他开发人员分配账户

创建用户

点击“管理区域”–>“新建用户”

设置账户信息

同时你可以将自己设置为管理员

修改用户密码

由于我们创建时并没有配置邮箱,所以还需要重新编辑用户信息并手动设置密码

退出并使用新账户登录

GitLab(GitHub)使用 SSH 免密登录

生成 SSH KEY

使用 ssh-keygen 工具生成,位置在 Git 安装目录下Git\usr\bin,输入命令:

1
ssh-keygen -t rsa -C "your_email@example.com"

执行成功后的效果:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
C:\Users\L15096000421\Git\usr\bin>ssh-keygen -t rsa -C "zysheep@126.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Lusifer/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Lusifer/.ssh/id_rsa.
Your public key has been saved in /c/Users/Lusifer/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cVesJKa5VnQNihQOTotXUAIyphsqjb7Z9lqOji2704E zysheep@126.com
The key's randomart image is:
+---[RSA 2048]----+
| + ..=o=. .+. |
| o o + B .+.o.o |
|o . + +=o+.. |
|.= . oo... |
|= o So |
|oE . o |
| .. .. . |
| o*o+ |
| *B*oo |
+----[SHA256]-----+

复制 SSH-KEY 信息到 GitLab

秘钥位置在:C:\Users\你的用户名\.ssh 目录下,找到 id_rsa.pub 并使用编辑器打开

登录 GitLab,点击“用户头像”–>“设置”–>“SSH 密钥”