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.創建虛擬機
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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選