Docker 是一个开源的应用容器引擎。
Jenkis 是一个开源自动化服务器。
(1).负责监控gitlab代码、gitlab中配置文件的变动;
(2).负责执行镜像文件的构建、上传与下载;
(3).通过Rancher插件系统构建stack/service;
GitLab: 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具。
(1).保存项目配置文件;
(2).nginx定制配置文件;
(3).Dockerfile文件;
Harbor:开源的docker镜像仓库管理系统,比较方便管理维护镜像。
(1)负责构建后镜像的存储
rancher:容器编排管理工具。
(1)通过API负责接受jenkins的调用,自动创建、更新stack/service;
(2)实现服务的扩容缩容
① 开发人员提交代码提交到gitlab
②gitlab钩子会触发jenkins执行下载对应项目的env、nginx配置文件、Dockerfile和最新版本的代码
③jenkins执行shell脚本:composer安装laravel插件和npm安装模块,编译生成js文件。完好的代码通过docker build Dockerfile 指令打包成镜像
④上传构建好的镜像push到harbor镜像仓库
⑤jenkins借助Rancher的插件通过API与rancher交互更新service达到更升级容器的目的(也就是更新代码版本),其中pull镜像的这一步会通过saltstack并行从harbor上下拉之前构建好的镜像到多个主机上
以上流程完整的实现了CI\CD,这里主要是jenkins部分是关键位置之一。
1.首先检查虚拟机的版本(centos7,内核3.10及以上)
2.安装JDK1.8
3.确保yum 包更新到最新(截图就不发了...更新包比较多)
yum -y update(可能需要点时间去更新)
systemctl disable firewalld.service(永远关闭防火墙)
以上内容最好安装在原始机器上面(专门准备一台虚拟机安装JDK插件,然后其他的安装通过克隆,然后在进行安装)
(对以上操作的集群克隆一台,需要MAC地址)
(1).卸载旧版本:
yum remove docker docker-common docker-selinux docker-engine
(2).安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
(3).设置yum源
yum -y install yum-utils、
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
(4).查看可用的所有仓库中所有docker版本
yum list docker-ce --showduplicates | sort -r
(5).安装docker
sudo yum install -y docker-ce
(7).设置开机并加入开机自启动
systemctl start docker
systemctl enable docker
(8).查看docker的版本(检查是否安装成功,以及相关的版本)
docker version(表明docker安装成功)
(9). 安装docker-compose
(代码仓库)---使用docker进行安装
(1).下载镜像文件
docker pull beginor/gitlab-ce:11.0.1-ce.0
(2).创建etc、log、data目录,便于日后升级
mkdir -p /mnt/gitlab/etc
mkdir -p /mnt/gitlab/log
mkdir -p /mnt/gitlab/data
(3).运行gitlab容器
docker run \
--detach \
--publish 8443:443 \
--publish 8090:80 \
--name gitlab \
--restart always \
-v /mnt/gitlab/etc:/etc/gitlab \
-v /mnt/gitlab/log:/var/log/gitlab \
-v /mnt/gitlab/data:/var/opt/gitlab \
beginor/gitlab-ce:11.0.1-ce.0
(4).查看gitlab镜像是否启动成功
docker inspect 容器id docker ps -a 查看运行的docker镜像
(5).测试地址:http://IP:port 修改root密码
(7).gitlab安装成功之后的页面
Harbor的作用:
开发提交代码至gitlab容器中,Jenkins拉取代码构建镜像上传到Harbor中,然后docker主机从Harbor中拉取镜像,并根据指令运行容器。
1.下载安装包:wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-online-installer-v1.1.2.tgz
2.解压安装包至/usr/local/ 目录下 tar xvf harbor-online-installer-v1.1.2.tgz -C /usr/local
①.或者以上的wget命令直接在 /usr/local 下执行 ...然后 tar xvf harbor-online-installer-v1.1.2.tgz就好了..
3.修改配置文件----harbor.cfg(/usr/local/harbor/harbor.cfg)
①.主要将hostname = 你的ip
ui_url_protocol = http
4.安装docker-compose
①.下载:curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m`
②.重命名:mv docker-compose /usr/local/bin/docker-compose
③.增加权限:chmod +x /usr/local/bin/docker-compose
④.查看版本:docker-compose version
6.启动harbor
sh /usr/local/harbor/install.sh (可能时间会比较长)
出现以上情况,说明启动成功
7.验证(登录名:admin、密码:Harbor12345)
登录后的页面
以上内容在当前环境中安装成功....,日后若是版本更新、修改;如有错误或者更好的方法,欢迎评论区留言讨论
1.查看docker是否安装成功:
2.docker安装jenkis
docker search jenkis
3.下载jenkis
docker pull jenkis
4.查看镜像
docker images
5.部署jenkis
docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean
6.查看:
说明:至此所有的服务都搭建好了。。。