GitLab

目录
显示
简介
GitLab 是一个基于 Git 的开源协作开发平台。它不仅提供代码托管服务,还集成了项目管理、CI/CD、监控等一系列功能,为软件开发团队提供了一站式的解决方案。
GitLab 的主要功能:
- 代码托管: 与 GitHub 类似,GitLab 可以用来托管 Git 仓库,方便团队协作开发。
- 问题跟踪: 可以创建、跟踪和管理项目中的问题、任务和特性请求。
- 合并请求: 通过合并请求的方式来合并代码,方便代码审查和讨论。
- Wiki: 创建和维护项目的文档,方便团队成员查阅。
- CI/CD: 内置强大的 CI/CD 功能,可以自动化构建、测试和部署应用程序。
- 容器注册表: 可以用来存储和管理容器镜像。
- 监控: 提供对应用程序的性能监控。
GitLab 的优势:
- 开源免费: 社区版完全免费,可以部署在自己的服务器上,对企业来说更具成本效益。
- 功能强大: 集成了众多功能,覆盖了软件开发的整个生命周期。
- 高度可定制: 可以根据团队的需求进行定制化配置。
- 社区活跃: 有一个庞大的社区,可以提供丰富的文档和支持。
GitLab 与 GitHub 的区别:
特点 | GitHub | GitLab |
---|---|---|
定位 | 主要面向开源项目和个人开发者 | 更面向企业,提供更全面的 DevOps 功能 |
功能 | 代码托管、问题跟踪、Pull Request | 代码托管、问题跟踪、Pull Request、CI/CD、Wiki、容器注册表等 |
自托管 | 部分功能收费 | 社区版可免费自托管 |
CI/CD | 需要第三方工具 | 自带强大的 CI/CD 功能 |
安装
# 首先保证linux环境已安装了docker和docker-compos
# 拉取镜像,有中文的镜像,但是很久没更新了,还是用官方社区的吧
docker pull gitlab/gitlab-ce
创建如下的 docker-compose.yml 文件
version: '3.1'
services:
gitlab:
image: 'gitlab/gitlab-ce:latest'
container_name: gitlab
restart: always
environment:
GITLAB_OMNIBUS_CONFIG: |
# gitlab访问地址,要改成自己的,如果端口不写的话默认为80端口
external_url '<http://192.168.119.5:8929>'
gitlab_rails['gitlab_shell_ssh_port'] = 2224 # ssh连接端口
ports:
- '8929:8929'
- '2224:2224'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
根据 docker-compose.yml 文件启动容器,这个过程会比较久,我大概用了3分钟
# 重启docker环境
systemctl restart docker
# 根据dockerCompose启动gitlab容器
docker-compose up -d
# 查看安装进度(也可以不看),安装过程比较耗时,耐心等待下
docker-compose logs -f
# 进入容器,在initial_root_password文件查看初始化root密码
docker exec -it gitlab bash
vi /etc/gitlab/initial_root_password
验证: 浏览器访问http://192.168.119.5:8929 登录root账号,并修改密码。如下图所示:
使用就和 Github 没多大区别,就不说了。