当前位置: 首页 > news >正文

使用docker-compose私有化部署 GitLab

在软件开发和协作过程中,版本控制是至关重要的一环。GitLab 是一个功能强大的开源平台,提供了完整的代码管理功能,包括版本控制、问题跟踪以及持续集成等。这使得团队能够更高效地协作开发。前段时间翻阅笔记时,偶然发现了之前公司关于 GitLab 部署的笔记。今天,我想和大家分享一下 GitLab 的基本概念,并展示如何利用 Docker Compose 实现其私有化部署。

gitlab.jpg

GitLab 简介

GitLab 是一个基于 Git 的 Web 应用程序,提供了存储库管理、问题跟踪和持续集成功能。其主要特点包括:

  • 版本控制系统:GitLab 支持版本控制系统,使团队能够轻松地管理代码库和版本历史。
  • 问题跟踪:能够创建、分配和解决问题,更好地管理项目的开发过程。
  • 持续集成与持续部署:GitLab 提供了强大的持续集成与持续部署功能,使开发团队能够自动化构建、测试和部署他们的应用程序。

使用 Docker Compose 部署 GitLab

第一步:创建docker-compose.yml文件

首先创建一个gitlab的部署目录:

mkdir gitlab

在此目录下创建docker-compose.yml文件

version: '3.3'services:gitlab:image: 'gitlab/gitlab-ce:14.10.2-ce.0'restart: alwayshostname: 'gitlab'environment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.10.105:3000'  # web站点访问地址gitlab_rails['gitlab_shell_ssh_port'] = 222ports:- '3000:3000' # 注意宿主机和容器内部的端口要一致,否则external_url无法访问- '8443:443'- '222:22'volumes:- ./gitlab/config:/etc/gitlab- ./gitlab/data:/var/opt/gitlab- ./gitlab/logs:/var/log/gitlablogging:driver: 'json-file'options:max-size: '2g'

第二步:启动容器

在docker-compose.yml 的同级目录下执行如下命令启动容器:

docker-compose up -d 

启动过程稍稍有点久,家人们耐心等待下

如果不出意味的话我们的容器就已经启动了

使用系统

  • 登录系统

在浏览器中输入 http://192.168.10.105:3000 访问系统

_20231024231002.jpg

默认用户为: root
密码在gitlab部署目录下gitlab下的gitlab/config/initial_root_password 这个文件中

_20231024231358.jpg

  • 修改语言

在系统上将语言设置为中文

_20231024231515.jpg

_20231024231532.jpg

保存完成之后刷新页面即可

_20231024231548.jpg

  • 其它操作

其它操作我们就不在此做描述了,家人们可以自行使用。

总结

通过本文介绍的简单步骤,您可以使用 Docker Compose 快速部署私有化的 GitLab 实例。GitLab 提供了强大的代码管理和协作功能,而 Docker Compose 则为您提供了一种简单的部署解决方案,使您可以轻松搭建和管理您的开发环境。

希望本文能帮助您更好地理解 GitLab 和 Docker Compose,并在您的开发工作中提供便利。

http://www.lryc.cn/news/207954.html

相关文章:

  • Vue项目引入百度统计的正确操作步骤,亲测有效!
  • Keras中model.evaluate() 返回的是 loss value 和 metrics values
  • CSRF跨域请求伪造
  • LeetCode 1465. 切割后面积最大的蛋糕:纵横分别处理
  • YTM32的增强型定时器eTMR外设模块详解
  • 40.查找练习题(王道2023数据结构第7章)
  • Segmentation fault 的bug解决
  • 【Python机器学习】零基础掌握BaggingRegressor集成学习
  • 麒麟KYLINOS通过命令行配置kysec的防火墙
  • 磁盘监控:告警时发送邮件
  • 【HarmonyOS】元服务卡片router实现跳转到指定页面并传动态参数
  • Centos安装RabbitMQ,JavaSpring发送RabbitMQ延迟延时消息,JavaSpring消费RabbitMQ消息
  • leetcode:1323. 6 和 9 组成的最大数字(python3解法)
  • SpringBoot集成Redis Cluster集群(附带Linux部署Redis Cluster高可用集群)
  • LLaVA:visual instruction tuning
  • Python实现双目标定、畸变矫正、立体矫正
  • showdoc 文件上传 (cnvd-2020-26585)
  • Java数据类型,变量与运算符
  • Linux nm命令
  • iOS发布证书.p12文件无密码解决办法及导出带密码的新.p12文件方法
  • OpenCamera拍照的代码流程
  • 华为OD机考算法题:矩阵最大值
  • 【Javascript】函数之形参与实参
  • PAT 乙级1090危险品装箱
  • Response Header中不暴露Server(IIS)版本、ASP.NET及相关版本等信息
  • 测试C#调用Vlc.DotNet组件播放视频
  • JS的事件委托(Event Delegation)
  • selenium+python自动化安装驱动 碰到的问题
  • laravel+vue2 element 一套项目级医院手术麻醉信息系统源码
  • GEE——使用MODIS GPP和LAI数据进行一元线性回归计算和R2分析