docker快速部署gitlab代码仓库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker快速部署gitlab代码仓库相关的知识,希望对你有一定的参考价值。

参考技术A GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务。

GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它使用 Ruby语言 写成。后来,一部分用 Go语言 重写。截止2018年5月,该公司约有290名团队成员,以及2000多名开源贡献者。GitLab被IBM,Sony,JülichResearchCenter,NASA,Alibaba,Invincea,O’ReillyMedia,Leibniz-Rechenzentrum(LRZ),CERN,SpaceX等组织使用。

Git、Github、Gitlab的区别:

• Git

一种代码版本管理系统,可以理解为标准或者统称。

• Github

产品名称,基于git开发的代码管理系统,必须公开于互联网上的公共仓库,安全较低,私有项目需要另外付费。

• Gitlab

产品名称,基于git开发的私有代码管理系统,开源免费、可自行管理的私有仓库,安全较高。

• 其它Git

msysGit、 Gitee(码云)、Gitea、 Gogs、 GitBucket类似于Github、Gitlab

下面我们介绍如何用docker快速部署一套功能强大的gitlab-ce社区版代码仓库。

第一步、centos 7.6安装、配置IP、dns、网关等(略)

第二步、安装docker安装,参考作者前几天的文章《centos 7下安装docker》

https://www.toutiao.com/i6994343127452566054/

第三步、安装docker-compose,参考作者前几天的文章《使用docker-compose运行docker容器》

https://www.toutiao.com/i6994600889604440608/

第四步、下载gitlab-ce 13.12.10官方镜像

docker pull gitlab/gitlab-ce:13.12.10-ce.0

第五步、建立相关目录结构,配置目录权限

mkdir -p /data/gitlab/config

mkdir -p /data/gitlab/data

mkdir -p /data/gitlab/logs

第六步、建立docker-compose.yml

cd /data/gitlab && vi docker-compose.yml

docker-compose.yml具体配置和说明放本文章后面。

第七步、使用dc up -d起动容器

cd /data/gitlab && dc up -d

等待几分钟后服务初始化完成,使用宿主机IP在浏览器上进入gitlab,配置root管理员的密码。一套功能强大的gitlab代码仓库搭建完成,关于gitlab的具使用,后面会推出相关视频/文章说明。

附:docker-compose.yml

version: '3.6' #配置编排的版本

services:

gitlab:

image: gitlab/gitlab-ce:13.12.10-ce.0

TZ: 'Asia/Shanghai' #配置容器时区,不会有8小时差异

GITLAB_OMNIBUS_CONFIG: |

external_url 'http://172.18.95.158' #服务器访问地址,也可以是域名

gitlab_rails['time_zone'] = 'Asia/Shanghai' #配置gitlab服务的时区

gitlab_rails['smtp_address'] = "smtp.exmail.qq.com" #管理员邮箱smtp地址

gitlab_rails['smtp_port'] = 465 #管理员邮箱服务器端口

gitlab_rails['smtp_user_name'] = "chenyk@xxxxxx.com" #管理员邮箱地址

gitlab_rails['smtp_password'] = "ZSfS11AssBXX" #管理员邮箱密码,配置后才可以给用户发邮件等信息

gitlab_rails['smtp_domain'] = "xxxxxx.com" #管理员邮箱域名

gitlab_rails['smtp_authentication'] = "login" #管理员邮箱的验证方式为login

gitlab_rails['smtp_enable_starttls_auto'] = true #使用安全加密方式登陆管理员邮箱

gitlab_rails['smtp_tls'] = true

gitlab_rails['gitlab_email_from'] = 'chenyk@xxxxxx.com' #管理员邮箱账号

gitlab_rails['gitlab_shell_ssh_port'] = 22

ports: #放开gitlab 80端口,后面我们用80端口访问gitlab

- '80:80'

volumes: #挂载配置、数据持久化、日志目录

- ./config:/etc/gitlab

- ./data:/var/opt/gitlab

- ./logs:/var/log/gitlab

以上是关于docker快速部署gitlab代码仓库的主要内容,如果未能解决你的问题,请参考以下文章

Docker+Harbor+Jenkins+Gitlab自动化CICD构建

jenkins+docker+gitlab+harbor+pipeline快速部署发版流程

jenkins+docker+gitlab自动化部署

Docker+Jenkins+Gitlab+Django应用部署实践

使用DockerMaven插件与Docker私有仓库来快速部署项目

docker下部署gitlab