【gitlab+jenkins+docker】手把手教你搭建基于gitlab+jenkins+docker的项目的自动化部署流程
架构
本套自动化流程设计如图:
其中gitlab是用来存放项目代码的,jenkins从gitlab上拉取代码完成打包、推送及触发后续动作,docker作为承载项目的容器,可以短时间内复制和重现。
环境介绍
博主搭建本套流程选用的是Centos7,具体的环境清单如下:
# 宿主机一切操作均使用root用户
linux: Centos7
docker: 1.13.1
docker-compose: 1.22.0
java: 1.8.0_111
python: 2.7.5(centos7自带,无需安装)
宿主机IP:10.20*.4.5*
docker网卡名: aidata_network
aidata_network网段: 10.111.113.0/24
mysql: 5.5.62
docker安装
利用yum安装docker,输入命令回车并等待,命令如下:
# 宿主机一切操作均使用root用户
[root@JackRoy ~]# yum install -y docker
docker安装成功后,为了获得较快的docker镜像源下载速度,将docker镜像源修改为国内的,执行:
# 宿主机一切操作均使用root用户
[root@JackRoy ~]# vim /etc/docker/daemon.json
添加:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
保存退出后重启docker,这里将操作docker的命令一并贴出:
# 宿主机一切操作均使用root用户
[root@JackRoy ~]# systemctl start docker
[root@JackRoy ~]# systemctl stop docker
[root@JackRoy ~]# systemctl restart docker
docker-compose安装(二进制)
从githup上拉取二进制文件,并存放在我们本地的/usr/local/bin下(保证全局性):
# 宿主机一切操作均使用root用户
# uname -s操作系统名称
# uname -m 查看操作系统类型,即是64位还是32位
[root@JackRoy ~]# curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 赋予可执行权限
[root@JackRoy ~]# chmod +x /usr/local/bin/docker-compose
# 查看版本
[root@JackRoy ~]# docker-compose --version
成功打印docker-compose版本后,说明已安装成功。
创建bridge 网络
创建名为aidata_network网络命令:
docker network create --subnet=10.111.113.0/24 aidata_network
查看docker网络命令:
docker network ls
查看aidata_network网络命令:
docker network inspect aidata_network
体执行明细:
# 宿主机一切操作均使用root用户
[root@JackRoy ~]# docker network create --subnet=10.111.113.0/24 aidata_network
b2179332c14f8773a8edd24cdb53e944c7c7d5ad9d572c913473534071b4ef31
[root@JackRoy ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
b2179332c14f aidata_network bridge local
120ea215a22d bridge bridge local
29905d93f3ee host host local
e036afc588b2 none null local
[root@JackRoy ~]# docker network inspect aidata_network
[
{
"Name": "aidata_network",
"Id": "b2179332c14f8773a8edd24cdb53e944c7c7d5ad9d572c913473534071b4ef31",
"Created": "2019-12-27T16:15:32.196483379+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "10.111.113.0/24"
}
]
},
"Internal": false,
"Attachable": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
跳转
第一节 基础环境介绍与准备
第二节 docker版gitlab安装和配置
第三节 docker版jenkins安装和配置
第四节 docker版mysql安装和配置
第五节 docker信息明细表设计与实现(含收集脚本)
第六节 docker容器自动化生成脚本
第七节 自动生成docker容器并启动项目