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快速部署发版流程
Docker+Jenkins+Gitlab+Django应用部署实践