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

使用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: always
    hostname: 'gitlab'
    environment:
      TZ: 'Asia/Shanghai'
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://192.168.10.105:3000'  # web站点访问地址
        gitlab_rails['gitlab_shell_ssh_port'] = 222
    ports:
      - '3000:3000' # 注意宿主机和容器内部的端口要一致,否则external_url无法访问
      - '8443:443'
      - '222:22'
    volumes:
      - ./gitlab/config:/etc/gitlab
      - ./gitlab/data:/var/opt/gitlab
      - ./gitlab/logs:/var/log/gitlab
    logging:
      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.kler.cn/news/107647.html

相关文章:

  • 5G与医疗:开启医疗技术的新篇章
  • freeRTOS学习day4-中断使用消息队列
  • 软考系列(系统架构师)- 2012年系统架构师软考案例分析考点
  • Hive常用DDL操作
  • 如何隐藏woocommerce 后台header,woocommerce-layout__header
  • vue中,js获取svg内容并填充到svg图中
  • 信道数据传输速率、信号传播速度——参考《天勤计算机网络》
  • Spring Boot进阶(94):从入门到精通:Spring Boot和Prometheus监控系统的完美结合
  • windows下OOM排查
  • Vite多页面应用简单构建
  • [C++]——带你学习类和对象
  • 电脑报错由于找不到vcruntime140.dll文件怎么修复
  • 在全新ubuntu上用gpu训练paddleocr模型遇到的坑与解决办法
  • python爬虫request和BeautifulSoup使用
  • 在DOS或Windows环境中,使用工具Debug
  • 【斗罗二】霍雨浩迷惑审查,戴华斌故意挑衅,惨败者屈服下跪
  • 金融领域:怎么保持电力系统连续供应?
  • 解决cloudflare pages部署静态页面发生404错误的问题
  • 【AD9361 数字接口CMOS LVDSSPI】B 并行数据之CMOS 续
  • 如何选择最适合 Android 的 SD 卡恢复软件?
  • C++入门精讲——入门看完这一篇就够了
  • rhcsa安装及配置
  • 如何使用ffmpeg制作透明背景的视频
  • Linux下自动挂载U盘或者USB移动硬盘
  • eval()函数的用法,计算字符串中的值,模板字符串进行计算
  • CTF-Crypto学习记录-第四天 “ “ --- SHA1安全散列算法,实现原理。
  • mac安装并使用wireshark
  • Rust实现基于Tokio的限制内存占用的channel
  • 【C++】类与对象 第二篇(构造函数,析构函数,拷贝构造,赋值重载)
  • 前端小技巧: 实现 LRU 缓存算法功能