千家信息网

Docke实例之如何搭建gitlab

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,这篇文章主要为大家展示了"Docke实例之如何搭建gitlab",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Docke实例之如何搭建gitlab"这篇文章
千家信息网最后更新 2024年11月28日Docke实例之如何搭建gitlab

这篇文章主要为大家展示了"Docke实例之如何搭建gitlab",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Docke实例之如何搭建gitlab"这篇文章吧。

gitlab介绍概述

GitLab 是一个用于仓库管理系统的开源项目。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。Github是公共的git仓库,而Gitlab适合于搭建企业内部私有git仓库

官网:

https://about.gitlab.com/

https://github.com/gitlabhq/gitlabhq

前端:Nginx,用于页面及Git tool走http或https协议
后端:Gitlab服务,采用Ruby on Rails框架,通过unicorn实现后台服务及多进程
SSHD:开启sshd服务,用于用户上传ssh key进行版本克隆及上传。注:用户上传的ssh key是保存到git账户中
数据库:目前仅支持MySQL和PostgreSQL
Redis:用于存储用户session和任务,任务包括新建仓库、发送邮件等等
Sidekiq:Rails框架自带的,订阅redis中的任务并执行

搭建流程

1.创建虚拟机


docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 3072 dev-gitlab

2.配置虚拟机的加速器

docker-machine ssh dev-gitlabsudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://6cade60d.m.daocloud.io |g" /var/lib/boot2docker/profileexitdocker-machine restart dev-gitlab

3.下载redis,postgresql,gitlab镜像

docker pull sameersbn/redisdocker pull sameersbn/postgresqldocker pull sameersbn/gitlab

4.执行上面镜像生成容器( \ 为换行符展现,实际上去掉 \ 一行执行)

# 生成postgresql镜像容器docker run --name postgresql -d \-e 'DB_NAME=gitlabhq_production' \-e 'DB_USER=gitlab' \-e 'DB_PASS=password' \-e 'DB_EXTENSION=pg_trgm' \-v /home/docker/opt/postgresql/data:/var/lib/postgresql \sameersbn/postgresql
# 生成redis镜像容器docker run --name redis -d \-v /home/docker/opt/redis/data:/var/lib/redis \sameersbn/redis
# 生成redis镜像容器# 注意: GITLAB_HOST为虚拟机分配的地址docker run --name gitlab -d \--link postgresql:postgresql --link redis:redisio \-p 10022:22 -p 10080:80 \-e 'GITLAB_PORT=10080' \-e 'GITLAB_SSH_PORT=10022' \-e 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \-e 'GITLAB_SECRETS_SECRET_KEY_BASE=long-and-random-alpha-numeric-string' \-e 'GITLAB_SECRETS_OTP_KEY_BASE=long-and-random-alpha-numeric-string' \-e 'GITLAB_HOST=192.168.99.100' \-e 'GITLAB_EMAIL=xiahl0916@163.com' \-e 'SMTP_ENABLED=true' \-e 'SMTP_DOMAIN=www.163.com' \-e 'SMTP_HOST=smtp.163.com' \-e 'SMTP_STARTTLS=false' \-e 'SMTP_USER=邮箱地址' \-e 'SMTP_PASS=邮箱密码' \-e 'SMTP_AUTHENTICATION=login' \-e 'GITLAB_BACKUP_SCHEDULE=daily' \-e 'GITLAB_BACKUP_TIME=00:30' \-v /home/docker/opt/gitlab/data:/home/git/data -m 2048m --memory-swap=-1 \sameersbn/gitlab

以上是"Docke实例之如何搭建gitlab"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0