这是一篇纯干货文章,该文章介绍如何使用docker快速搭建持续集成环境。我假定大家看了我前面的两篇文章或者自己了解过docker和docker相关的知识,因此这篇文章目的只有一个,尽快搭建好具备持续集成的环境。
大纲
为了方便大家理解,也为了让我更好的完成文章编写,我画了一个脑图。这由于画这张脑图的时候并不是所有任务都做完了,所以有些是未完成状态,后续我也会根据进度慢慢完善这张脑图。
准备工作
工欲善其事,必先利其器。我们需要把基础环境准备好,基础环境包括:
- 一台性能还可以的安装了win10的电脑(4G以上+双核)
- docker for windows。
- powerShell(Win10旗舰版自带)
- bios和win10 均开启虚拟化技术(VT)
在安装好docker之后我们需要在磁盘中开辟一个空间用来存放docker相关的配置,我电脑位置为C:/Docker
,然后根据本文需要使用powerShell创建几个基础目录。
PS C:\Docker> mkdir gitlab
PS C:\Docker> mkdir gerrit
PS C:\Docker> mkdir sonarqube
PS C:\Docker> mkdir Jenkins
然后我们需要使用阿里巴巴镜像加速服务,否则在安装对应镜像的时候可能菊花疼。阿里巴巴镜像加速服务会提示如何在docker中配置,这里不多说。
安装工作
安装对应的容器我们使用的docker-compose,在win10最新版本的docker中自带该工具(如果使用linux版我们可能需要单独下载并配置到环境中)。
安装镜像我们使用docker-compose能达到傻瓜式操作,总共就两步:
- 编辑compose配置文件*.yml;
- 运行yml文件;
安装gitlab
Step1:我们在C:/Docker/gitlab
目录下创建一个名字为docker-compose.yml
的文件,然后使用文本编辑工具打开,往里面复制如下内容(了解compose文件格式点击这里):
version: '3'
services:
gitlab:
image: 'twang2218/gitlab-ce-zh:10.5'
container_name: gitlab
restart: unless-stopped
hostname: 'localhost'
environment:
TZ: 'Asia/Shanghai'
ports:
- '10080:80'
- '10443:443'
- '10022:22'
volumes:
- c:/docker/gitlab/data:/var/data/gitlab
- c:/docker/gitlab/log:/var/log/gitlab
在这里我们使用的是gitlab社区版的中文汉化版,国内用这个版本的人挺多的。当然也有很多人用国际版,两者并无本质区别;
restart有多种配置,很多文章写的aways就是你停了还会启动,本文为了很好控制使用停止后不再重启 unless-stopped
Step2:使用docker-compose命令运行这个配置(-d表示在后台运行否则会打印出来)。
PS C:\Docker> cd .\gitlab\
PS C:\Docker\gitlab> docker-compose up -d
这个操作其实在内部是执行了包括读取解析配置,安装需要的镜像,配置对应容器,运行容器4个步骤。
方法非常简单,后面使用compose安装的镜像都是这样的方式,也是非常简单,就那么两步。
注意事项:
- docker-compose指令会解析