基于Docker部署Gitlab教程
什么是 GitLab
GitLab 是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序 (Wall) 进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
基于 Docker 安装 GitLab
首先进入到/usr/local/docker/gitlab目录下(若没有则创建),创建docker-compose.yml配置文件。
cd /usr/local/docker/gitlab
vi docker-compose.yml
使用 Docker 来安装和运行 GitLab 中文版,docker-compose.yml
配置如下:
version: '2'
services:gitlab:image: 'twang2218/gitlab-ce-zh:11.1.4'restart: alwayshostname: '192.168.41.131' #你的linux虚拟机的IP地址environment:TZ: 'Asia/Shanghai'GITLAB_OMNIBUS_CONFIG: |external_url 'http://192.168.41.131'gitlab_rails['time_zone'] = 'Asia/Shanghai'ports:- '80:80'- '8443:443'- '2222:22'volumes:- /usr/local/docker/gitlab/config:/etc/gitlab- /usr/local/docker/gitlab/data:/var/opt/gitlab- /usr/local/docker/gitlab/logs:/var/log/gitlab
使用docker-compose up
命令启动部署。
部署完成后,在浏览器输入192.168.41.131
即可访问Gitlab。
关于配置多个SSH的问题
由于我本身还在使用Github,所以我的电脑上配置了一个Github SSH的Key,而现在我又搭建了一个本地托管服务器,并且希望通过SSH免密登陆,所以我需要配置第二个SSH,这里经常会出现冲突问题,有两种解决办法。
方法一
首先,生成第二个Gitlab使用的SSH公钥与私钥。
$ ssh-keygen -t rsa -C "2email@github.com” -f ~/.ssh/id_gitlab_rsa
此时,你的.ssh
文件夹中应该有id_gitlab_rsa``id_gitlab_rsa.pub``id_github_rsa``id_gitlab_hub.pub
四个文件,分别对应两个平台的公钥与私钥。
添加配置文件config
如下:
# gitlab
Host 192.168.41.131 #Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件(可以直接填写ip地址)HostName 192.168.41.131 #本地Gitlab服务器IPPort 2222 #Gitlab端口号PreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_gitlab #指明上面User对应的identityFile路径User GiottoLee #登录名(如gitlab的username)
# github
Host githubHostName github.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_github
然后,添加私钥:
$ ssh-add ~/.ssh/id_rsa $ ssh-add ~/.ssh/github_rsa
如果执行ssh-add时提示”Could not open a connection to your authentication agent”,可以先执行命令:
$ ssh-agent bash
然后再重新运行ssh-add命令即可。
最后通过SSH -T
命令进行测试:
$ ssh -T git@github.com
Hi GiottoLee! You've successfully authenticated, but GitHub does not provide shell access.
$ ssh -T git@192.168.41.131
Welcome to GitLab, @GiottoLee!
测试通过,现在两个SSH可同时使用了。
方法二
这个方法是我在搞清楚方法一之后才发现的,一句话就可以说清楚:
直接把github的公钥复制给Gitlab就好了,用一把钥匙访问两个仓库!Shit!
具体操作
Gitlab的具体操作与Github操作相同,此处不再赘述,如有需要可以翻看之前的那篇文章Git版本控制及远程仓库的使用]。
基于Docker部署Gitlab教程相关推荐
- 基于 Docker 和 GitLab 的前端自动化部署实践笔记
基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...
- Linux centos7 docker部署gitlab私有服务器
Docker部署gitlab私有服务器,那么,这里必须要有两个软件啦,一个是Docker,一个是gitlab.鉴于很多同学还是不太了解这两个东西,并且观看了不少的其他大神的相关博客,发现对于Docke ...
- 基于docker部署的微服务架构(九): 分布式服务追踪 Spring Cloud Sleuth
为什么80%的码农都做不了架构师?>>> 前言 微服务架构中完成一项功能经常会在多个服务之间远程调用(RPC),形成调用链.每个服务节点可能在不同的机器上甚至是不同的集群上,需 ...
- 推荐一款基于docker部署的个人免费笔记工具wiznote
推荐一款基于docker部署的个人免费笔记工具wiznote 作为一个爱写作爱折腾的程序员,在做某个事情的时候,脑子里总是会联想并且不断蹦出各种奇怪的创意和想法,但是这些想法很多时候都是一闪而逝,事情 ...
- Docker部署Gitlab,http端口不用80的解决方法
虚拟机中的端口:80被占用了,所以需要用其他的端口代替 解决办法: web:image: 'gitlab/gitlab-ce:latest'restart: alwayshostname: '146. ...
- docker部署gitlab
这篇文章用来记录下我在使用docker部署gitlab时候遇到的一些坑. 先介绍下我的环境: 阿里云的轻量应用服务器:2核4G(好像最低要求配置,之前用2核2G的部署,直接给内存溢出),centos7 ...
- mac 上搭建gitlabel_在Mac OS X中用Docker部署GitLab
以前采用gitosis在Mac OS上架设Git服务器,用于集中管理课题组中的所有Git仓库.Gitosis 是一套用来管理 authorized_keys文件和实现简单连接限制的脚本,用来添加用户和 ...
- 基于Docker搭建Gitlab代码存储
关于Docker搭建Gitlab,在19年时就已经在博客发过文章了,今天重新回顾一下. 1.拉取镜像 docker pull gitlab/gitlab-ce 默认拉取最新版本: 2.创建Gitlab ...
- docker 部署 gitlab gitlab-runner 实现 CI
GitLab私服搭建 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务 参考官方Doc: GitLab Docker images | Gi ...
- 初探docker部署gitlab
各位小伙伴万福金安,我是你们的小栈君,今天给大家带来的分享是关于gitlab的部署的实战操作,对于gitlab相信不少的小伙伴都或多或少的接触过一些,总的老说GitLab是一个利用 Ruby on R ...
最新文章
- Eclipse常用设置
- 零基础带你一步步搭建Nacos高可用集群(史上最详细,赛过教科书!)为此我准备了三台云服务器+云数据库
- PyTorch教程(七):属性统计
- matlab读取xlsx文件,从电子表格读取数据
- Python学习代码
- fdfs文件服务环境搭建
- ansys workbench 材料参数的定义
- 黑莓手机刷机经验一点
- matplotlib画图去掉边缘空白
- python win7 安装失败 Service Pack 1
- 02 编程猫之小猫酷跑我设计
- linux用户motd,linux需要装?那就和我一起来配置一个动态的MOTD登陆效果吧
- 数据管理平台系列之Zeppline安装与使用
- uniapp开发APP之真机调试
- BERT模型—7.BERT模型在句子分类任务上的微调(对抗训练)
- 雅思口语-Part1练习
- iPhone代理设置,保存不上
- ActiveReports报表开发案例:ERP等管理系统的开发与维护模式
- #SORA#celery研究笔记
- java卖票_Java中卖票问题