前言

想要成为一名架构师,一定要有从无到有搭建环境的能力,这是作为架构师的基础技能,而gitLab服务器的搭建一定又是重中之重。

相信很多小伙伴的公司也在使用gitLab,但都是你们公司的架构师搭建好的,你是否好奇它是怎么搭建的呢?

今天王子就与大家实际操作一下gitLab的搭建,如果你还不知道什么是gitLab,请自行查阅资料了解。

环境介绍

首先来介绍一下工作环境。

我们采用的是Win10系统,安装了Vmvare虚拟机,并在虚拟机中安装了CentOS7操作系统,内存分配了2.5G,gitLab是比较吃内存的,至少要分配2G内存,并且已经安装好了Docker,Docker配置了阿里云镜像。这部分操作网上教程有很多,就不做介绍了。

我们的目的就是在虚拟机中使用Docker安装一个gitLab环境,供开发使用。

这里有一点要说明的是,我们的虚拟机采用的网络方式是Nat的方式,使用Nat方式连接,如果同局域网的其他电脑想要访问你的虚拟机,必须要配置端口映射,然后再通过你电脑的IP地址和端口号来映射访问你的虚拟机。

安装gitLab

好了,现在我们开始正式安装gitLab.

王子选择的是gitLab的一款中文社区版,版本不做限制,首先就是去拉取Docker镜像,如下:

docker pull beginor/gitlab-ce:11.0.1-ce.0

这一部分的拉取时间可能较慢,因为镜像比较大。

接下来我们要创建几个文件夹,用来映射到Docker容器中,方便我们配置容器,如下:

mkdir -p /home/gitlab/etc

mkdir -p /home/gitlab/log

mkdir -p /home/gitlab/data

之后就是运行容器了,如下:

docker run --detach --publish 8443:443  --publish 8090:80  --name gitlab --restart unless-stopped 
-v /home/gitlab/etc:/etc/gitlab -v /home/gitlab/log:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab beginor/gitlab-ce:11.0.1-ce.0

我们还需要修改几处配置文件,

修改/home/gitlab/etc/gitlab.rb

把external_url改成我们虚拟机的地址

vi /home/gitlab/etc/gitlab.rb

external_url 'http://192.168.220.110'

修改/home/gitlab/data/gitlab-rails/etc/gitlab.yml

vi /home/gitlab/data/gitlab-rails/etc/gitlab.yml

找到关键字 * ## Web server settings *

将host的值改成虚拟机地址,port改成映射到外部主机的端口

之后我们重启Docker容器,就可以访问到gitLab页面了。

总结

到这里搭建工作就完成了,要注意的就是虚拟机的网络连接方式问题,如果使用的Nat的方式记得要配置端口映射,或者你也可以直接使用桥接的方式,连接真实的电脑网卡。

使用Docker搭建gitLab还是很容易的,这让我们再次体会到了Docker的强大。

往期文章推荐:

JVM专栏

消息中间件专栏

并发编程专栏

架构师基础技能-搭建gitLab的更多相关文章

  1. 架构师入门:搭建双注册中心的高可用Eureka架构(基于项目实战)

    本文的案例是基于 架构师入门:搭建基本的Eureka架构(从项目里抽取) 改写的. 在上文里,我们演示Eureka客户端调用服务的整个流程,在这部分里我们将在架构上有所改进.大家可以想象下,在上文里案 ...

  2. Java架构师必备技能:docker使用大全

    前言   java工程师成长为架构师是一个艰难且耗费心力的过程,不仅仅需要熟悉java体系内相关的技术,同时要掌握许多运维相关的操作技能,随着k8s逐渐成为微服务持续集成开发难以越过的基础设施之后,d ...

  3. 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术

    大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选 ...

  4. IBM Java架构师的技能

    一天,群里飘过一个IBM招聘信息.我看过之后,也只是如此而已. 大家好!我是XXX,IBM招聘java架构师,如今还有38个名额 学历大专以上即可,英语能面试交流的.项目有非常多到时候依据您面试会详谈 ...

  5. JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解

    在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...

  6. 【ZZ】大数据架构师基础:hadoop家族,Cloudera系列产品介绍

    http://www.36dsj.com/archives/17192 大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为 ...

  7. 成为java架构师的技能

    0: 数据结构算法 数组.链表.堆.栈.队列.Hash表.二叉树等; 算法思想:递推.递归.穷举.贪心.分治.动态规划.迭代.分枝界限; 排序查找 B+/B-数.红黑树.图等; 图的深度优先搜索.图的 ...

  8. 架构师入门:搭建基本的Eureka架构(从项目里抽取)

    没有废话,直接上干货,理论部分大家可以看其它资料. 这里是部分关键代码,如果需要全部可运行的代码,请给本人留言. 在后继,还将给出搭建高可用Eureka架构的方式. 1 Eureka的框架图 在Eur ...

  9. 添物零基础到架构师(基础篇) - JavaScript

    JavaScript是什么? JavaScript是web开发必须学习的,ECMAScript是其规则来源. JavaScript的历史 Developed by Brendan Eich of Ne ...

随机推荐

  1. ASP.NET Core管道详解[3]: Pipeline = IServer + IHttpApplication

    ASP.NET Core的请求处理管道由一个服务器和一组中间件构成,但对于面向传输层的服务器来说,它其实没有中间件的概念.当服务器接收到请求之后,会将该请求分发给一个处理器进行处理,对服务器而言,这个 ...

  2. CorelDRAW极具创意的多边形工具

    这是一个简单的教程,它展示了使用三种基本的CorelDRAW工具打造的创意性成果:多边形工具.挑选工具和形状工具. CorelDRAW 可让您以非常直观的方式创建多边形.尽管多边形工具乍看起来并不像一 ...

  3. 怎么让我们的mac运行得更加流畅?让我们得工作事半功倍!

    古语云:"工欲善其事,必先利其器."因此,一个运行流畅的Mac更能使我们的工作事半功倍.但又是什么导致电脑的运行不流畅呢? 其实这大多还是缓存垃圾过多.内存不足的原因.尝试安装了许 ...

  4. css3系列之详解border-radius

    border-radius border-radius 几种写法: 1.border-radius: 50%; 以正方形为例子, 这样写就是设置 4个角 为50%. 2.border-radius: ...

  5. DFS序专题

    牛客专题之DFS序 简介 dfs序: 每个节点在dfs深度优先遍历中的进出栈的时间序列,也就是tarjan算法中的dfn数组. 画个图理解一下: 这棵树的dfs序:1 3 2 4 2 5 6 7 6 ...

  6. 编曲技巧:使用FL Studio来制作停顿的效果

    停顿效果是一种在音乐创作中非常常用的音效,它能起到缓冲的作用,而且能使这段旋律更具节奏感,在比较激情的歌曲中尤为常见.例如知名歌手王力宏演唱的<火力全开>中就使用了停顿效果,为歌曲加了不少 ...

  7. 这几个很实用的Linux命令,千万别忘记了!

  8. CentOS下Mysql简易操作

    Mysql mysql的root密码重置 编辑mysql主配置文件 vim /etc/my.cnf 添加..grant参数 [mysqld] skip-grant 重启mysql服务 service ...

  9. 多k8s集群管理

    多集群的切换是K8s运维中比不可少的问题,常见的基于多个集群进行切换的方法有三种: 切换config文件 通过context进行集群切换 用kubecm进行集群切换 切换config文件 我们先看看放 ...

  10. Beta冲刺随笔——Day_Six

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 Beta 冲刺 这个作业的目标 团队进行Beta冲刺 作业正文 正文 其他参考文献 无 今日事今日毕 林涛: ...