這篇文章主要為大家展示了“Docke實(shí)例之如何搭建gitlab”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Docke實(shí)例之如何搭建gitlab”這篇文章吧。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),高淳企業(yè)網(wǎng)站建設(shè),高淳品牌網(wǎng)站建設(shè),網(wǎng)站定制,高淳網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,高淳網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
gitlab介紹概述
GitLab 是一個(gè)用于倉庫管理系統(tǒng)的開源項(xiàng)目。使用Git作為代碼管理工具,并在此基礎(chǔ)上搭建起來的web服務(wù)。Github是公共的git倉庫,而Gitlab適合于搭建企業(yè)內(nèi)部私有g(shù)it倉庫
官網(wǎng):
https://about.gitlab.com/
https://github.com/gitlabhq/gitlabhq
前端:Nginx,用于頁面及Git tool走h(yuǎn)ttp或https協(xié)議
后端:Gitlab服務(wù),采用Ruby on Rails框架,通過unicorn實(shí)現(xiàn)后臺(tái)服務(wù)及多進(jìn)程
SSHD:開啟sshd服務(wù),用于用戶上傳ssh key進(jìn)行版本克隆及上傳。注:用戶上傳的ssh key是保存到git賬戶中
數(shù)據(jù)庫:目前僅支持MySQL和PostgreSQL
redis:用于存儲(chǔ)用戶session和任務(wù),任務(wù)包括新建倉庫、發(fā)送郵件等等
Sidekiq:Rails框架自帶的,訂閱redis中的任務(wù)并執(zhí)行
搭建流程
1.創(chuàng)建虛擬機(jī)
docker-machine create --driver virtualbox --virtualbox-cpu-count 4 --virtualbox-memory 3072 dev-gitlab
2.配置虛擬機(jī)的加速器
docker-machine ssh dev-gitlab sudo sed -i "s|EXTRA_ARGS='|EXTRA_ARGS='--registry-mirror=http://6cade60d.m.daocloud.io |g" /var/lib/boot2docker/profile exit docker-machine restart dev-gitlab
3.下載redis,postgresql,gitlab鏡像
docker pull sameersbn/redis docker pull sameersbn/postgresql docker pull sameersbn/gitlab
4.執(zhí)行上面鏡像生成容器( \ 為換行符展現(xiàn),實(shí)際上去掉 \ 一行執(zhí)行)
# 生成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為虛擬機(jī)分配的地址 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實(shí)例之如何搭建gitlab”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!