概述
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。
GitLab和GitHub一样是仓库管理系统,不一样的是GitLab可以自己搭建,自己或企业内部使用。
环境准备
- Linux系统
- docker
- docker-compose
硬件要求
CPU
- 4 核是推荐的最小核数,最多支持 500 个用户
- 8核最多支持1000个用户
RAM
- 4GB RAM是所需的最小内存大小,最多可支持 500 个用户
- 8GB RAM 支持多达 1000 个用户
安装
GitLab Docker 镜像可以以多种方式运行:这里介绍前面2种
- 使用 Docker 引擎
- 使用 Docker-compose
- 使用 Docker swarm集群模式
1.docker引擎安装gitlab
- 拉取镜像,目前2022年5月,gitlab/gitlab-ce最新版docker镜像2.36GB(有点大可以提前下载)
下载并启动 GitLab 容器,并发布访问 SSH、HTTP 和 HTTPS 所需的端口。所有 GitLab 数据都将存储为 /mydata/
docker run --detach \ --hostname gitlab.admin.com \ --publish 1443:443 --publish 81:80 --publish 1022:22 \ --name gitlab \ --restart always \ --volume /mydata/config:/etc/gitlab \ --volume /mydata/logs:/var/log/gitlab \ --volume /mydata/data:/var/opt/gitlab \ gitlab/gitlab-ce:latest
本地位置 容器位置 用法 /mydata/data
/var/opt/gitlab
用于存储应用程序数据 /mydata/logs
/var/log/gitlab
用于存储日志 /mydata/config
/etc/gitlab
用于存储 GitLab 配置文件 - GitLab初始化启动过程需要很长时间,您可以通过logs方式跟踪此过程:
docker logs -ft gitlab
- 启动容器后,浏览器访问gitlab.admin.com:81,这里如果域名没做hosts映射的话,请使用ip地址:
192.168.200.11:81
。 这里GitLab 默认创建root用户和密码,
root用户 密码查询
:docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
- 输入root用户(管理员)和密码登录:
2.使用 Docker Compose 安装 GitLab---*(compose案例看这里!!)
使用Docker Compose,您可以轻松配置、安装和升级 GitLab :
- 安装 Docker Compose
- 创建
docker-compose.yml
文件
version: '3.6'
services:
web:
image: 'gitlab/gitlab-ce:latest'
restart: always
hostname: 'gitlab.admin.com'
ports:
- '82:80'
- '10443:443'
- '11022:22'
volumes:
- '/mydata-2/config:/etc/gitlab'
- '/mydata-2/logs:/var/log/gitlab'
- '/mydata-2/data:/var/opt/gitlab'
- 确保您
docker-compose.yml
与启动 GitLab 位于同一目录中: 后台启动compose
docker-compose up -d
查看状态
[root@master cicd]# docker-compose ps Name Command State Ports --------------------------------------------------------------------------------------------------------------- cicd_web_1 /assets/wrapper Up (healthy) 0.0.0.0:11022->22/tcp, 0.0.0.0:10443->443/tcp, 0.0.0.0:82->80/tcp
- 浏览器访问登录
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。