什么是 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教程相关推荐

  1. 基于 Docker 和 GitLab 的前端自动化部署实践笔记

    基于 Docker 和 GitLab 的前端自动化部署 实践笔记 随着接触的项目越来越多,在部署测试流程上重复耗时工作也越来越多,所以对前端工作的CI/CD实现愈发迫在眉睫. 前端开发由于三大框架的崛 ...

  2. Linux centos7 docker部署gitlab私有服务器

    Docker部署gitlab私有服务器,那么,这里必须要有两个软件啦,一个是Docker,一个是gitlab.鉴于很多同学还是不太了解这两个东西,并且观看了不少的其他大神的相关博客,发现对于Docke ...

  3. 基于docker部署的微服务架构(九): 分布式服务追踪 Spring Cloud Sleuth

    为什么80%的码农都做不了架构师?>>>    前言 微服务架构中完成一项功能经常会在多个服务之间远程调用(RPC),形成调用链.每个服务节点可能在不同的机器上甚至是不同的集群上,需 ...

  4. 推荐一款基于docker部署的个人免费笔记工具wiznote

    推荐一款基于docker部署的个人免费笔记工具wiznote 作为一个爱写作爱折腾的程序员,在做某个事情的时候,脑子里总是会联想并且不断蹦出各种奇怪的创意和想法,但是这些想法很多时候都是一闪而逝,事情 ...

  5. Docker部署Gitlab,http端口不用80的解决方法

    虚拟机中的端口:80被占用了,所以需要用其他的端口代替 解决办法: web:image: 'gitlab/gitlab-ce:latest'restart: alwayshostname: '146. ...

  6. docker部署gitlab

    这篇文章用来记录下我在使用docker部署gitlab时候遇到的一些坑. 先介绍下我的环境: 阿里云的轻量应用服务器:2核4G(好像最低要求配置,之前用2核2G的部署,直接给内存溢出),centos7 ...

  7. mac 上搭建gitlabel_在Mac OS X中用Docker部署GitLab

    以前采用gitosis在Mac OS上架设Git服务器,用于集中管理课题组中的所有Git仓库.Gitosis 是一套用来管理 authorized_keys文件和实现简单连接限制的脚本,用来添加用户和 ...

  8. 基于Docker搭建Gitlab代码存储

    关于Docker搭建Gitlab,在19年时就已经在博客发过文章了,今天重新回顾一下. 1.拉取镜像 docker pull gitlab/gitlab-ce 默认拉取最新版本: 2.创建Gitlab ...

  9. docker 部署 gitlab gitlab-runner 实现 CI

    GitLab私服搭建 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务 参考官方Doc: GitLab Docker images | Gi ...

  10. 初探docker部署gitlab

    各位小伙伴万福金安,我是你们的小栈君,今天给大家带来的分享是关于gitlab的部署的实战操作,对于gitlab相信不少的小伙伴都或多或少的接触过一些,总的老说GitLab是一个利用 Ruby on R ...

最新文章

  1. Eclipse常用设置
  2. 零基础带你一步步搭建Nacos高可用集群(史上最详细,赛过教科书!)为此我准备了三台云服务器+云数据库
  3. PyTorch教程(七):属性统计
  4. matlab读取xlsx文件,从电子表格读取数据
  5. Python学习代码
  6. fdfs文件服务环境搭建
  7. ansys workbench 材料参数的定义
  8. 黑莓手机刷机经验一点
  9. matplotlib画图去掉边缘空白
  10. python win7 安装失败 Service Pack 1
  11. 02 编程猫之小猫酷跑我设计
  12. linux用户motd,linux需要装?那就和我一起来配置一个动态的MOTD登陆效果吧
  13. 数据管理平台系列之Zeppline安装与使用
  14. uniapp开发APP之真机调试
  15. BERT模型—7.BERT模型在句子分类任务上的微调(对抗训练)
  16. 雅思口语-Part1练习
  17. iPhone代理设置,保存不上
  18. ActiveReports报表开发案例:ERP等管理系统的开发与维护模式
  19. #SORA#celery研究笔记
  20. java卖票_Java中卖票问题

热门文章

  1. 必看!linux系统如何查看内存使用情况
  2. super-smack
  3. M1 MacBook Air值不值得买?使用体验分享
  4. iOS开发之Xcode开发快捷键大全
  5. iOS开发经验总结(二)
  6. AMS Audio Converter如何编辑音频/ MP3的ID3信息?
  7. 关于Jedis无法连接上Linux上Redis问题
  8. 「AtCoder Grand018A」Getting Difference(GCD)
  9. 关于逻辑或的一个小小应用注意点
  10. Web前端初级问题—ajax登录跳转登录实现