架构师基础技能-搭建gitLab
前言
想要成为一名架构师,一定要有从无到有搭建环境的能力,这是作为架构师的基础技能,而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的强大。
往期文章推荐:
架构师基础技能-搭建gitLab的更多相关文章
- 架构师入门:搭建双注册中心的高可用Eureka架构(基于项目实战)
本文的案例是基于 架构师入门:搭建基本的Eureka架构(从项目里抽取) 改写的. 在上文里,我们演示Eureka客户端调用服务的整个流程,在这部分里我们将在架构上有所改进.大家可以想象下,在上文里案 ...
- Java架构师必备技能:docker使用大全
前言 java工程师成长为架构师是一个艰难且耗费心力的过程,不仅仅需要熟悉java体系内相关的技术,同时要掌握许多运维相关的操作技能,随着k8s逐渐成为微服务持续集成开发难以越过的基础设施之后,d ...
- 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术
大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选 ...
- IBM Java架构师的技能
一天,群里飘过一个IBM招聘信息.我看过之后,也只是如此而已. 大家好!我是XXX,IBM招聘java架构师,如今还有38个名额 学历大专以上即可,英语能面试交流的.项目有非常多到时候依据您面试会详谈 ...
- JAVA高级架构师基础功:Spring中AOP的两种代理方式:动态代理和CGLIB详解
在spring框架中使用了两种代理方式: 1.JDK自带的动态代理. 2.Spring框架自己提供的CGLIB的方式. 这两种也是Spring框架核心AOP的基础. 在详细讲解上述提到的动态代理和CG ...
- 【ZZ】大数据架构师基础:hadoop家族,Cloudera系列产品介绍
http://www.36dsj.com/archives/17192 大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为 ...
- 成为java架构师的技能
0: 数据结构算法 数组.链表.堆.栈.队列.Hash表.二叉树等; 算法思想:递推.递归.穷举.贪心.分治.动态规划.迭代.分枝界限; 排序查找 B+/B-数.红黑树.图等; 图的深度优先搜索.图的 ...
- 架构师入门:搭建基本的Eureka架构(从项目里抽取)
没有废话,直接上干货,理论部分大家可以看其它资料. 这里是部分关键代码,如果需要全部可运行的代码,请给本人留言. 在后继,还将给出搭建高可用Eureka架构的方式. 1 Eureka的框架图 在Eur ...
- 添物零基础到架构师(基础篇) - JavaScript
JavaScript是什么? JavaScript是web开发必须学习的,ECMAScript是其规则来源. JavaScript的历史 Developed by Brendan Eich of Ne ...
随机推荐
- 想换4K显示器了?那你搞懂啥是4K了吗?
前言 我们在科技资讯以及电脑显示器.数字电视等电子产品的宣传语中,经常能够看见4K的字样.最近,B站(哔哩哔哩)升级了HTML5播放器和视频云等相关服务,为广大用户提供了超高清(UHD: Ultra ...
- [大雾雾雾雾] 告别该死的 EFCore Fluent API (续)
朋友们好啊, 我是 .NET 打工人 玩双截棍的熊猫 刚才有个朋友问我 猫猫发生什么事了 我说 怎么回事? 给我发了一张截图 我一看!嗷!原来是zuo天有两个数据库, 一个四十多岁,一个三十多岁 它们 ...
- Pinpoint 设置微信或者钉钉预警
本文基于 Pinpoint 2.1.0 版本 本文大部分内容来自:侠梦的开发笔记 ,但是原文的版本和我的不一致,放在2.1.0是跑不起来的,但是大概逻辑和思路基本一致. 目录 一.接入预警大概思路 二 ...
- 给PDF批量添加文本链接
为了进一步补充说明文件中的一些重要内容,PDF文件的创建者会为一些文本创建链接,方便阅读者访问相关的网站,获取更多的信息. 我们可以通过使用pdfFactory文本链接功能来实现以上需求,另外,我们还 ...
- 思维导图软件MindManager新手入门教程
MindManager是一款创造.管理和交流思想的思维导图软件,其直观清晰的可视化界面和强大的功能可以快速捕捉.组织和共享思维.想法.资源和项目进程等等.MindManager新手入门教程专为新手用户 ...
- 庐山真面目之四微服务架构Consul和Ocelot简单版本实现
庐山真面目之四微服务架构Consul和Ocelot简单版本实现 一.简介 在上一篇文章<庐山真面目之三微服务架构Consul简单版本实现>中,我们已经探讨了如何搭建基于Consu ...
- python中eval()和json.loads的区别
一.最近在写接口测试脚本时,发现当读取Excel用例时,有时候要用eval,有时候又要用json.loads,不知道区别,只能换一下就可以用了,不知道其中的原理,特地百度了下.于是就记录了下,以便后续 ...
- 2020.6.16 night 解题报告
2020.6.16 night 解题报告 link 标签(空格分隔): 题解 概率与期望 T1 : Crossing Rivers UVA - 12230 SB题. 很唬人的一个连续期望. 很明显,在 ...
- wraps装饰器的使用
functools模块中的wraps装饰器 说明 使用functools模块提供的wraps装饰器可以避免被装饰的函数的特殊属性被更改,如函数名称__name__被更改.如果不使用该装饰器,则会导致函 ...
- Pytest系列(十三)- 重复执行之pytest-repeat的使用
写在前面 这个插件,可以帮助我们很好的解决自动化测试过程中的一些偶线性bug难以复现的问题,但前提是,当前自动化脚本是独立的,不依赖任何其他脚本.个人觉得还是失败重运行的一种体现,就和TestNG是一 ...