CICD实现及环境搭建

一、实现流程

1、运维管理员创建gitlab项目,创建Jenkins项目

2、开发人员将code提交到对应的gitlab中(可按分支触发)

3、gitlab通过webhook触发对应Jenkins项目

4、进入CI环节:将code集成进标准的docker镜像中,并进行测试;

           集成及测试成功,则将集成后的镜像上传至仓库中;

           集成或测试失败,则结束本次Jenkins,并将原因通过邮件发送给开发者与运维管理员。

5、进入CD环节:

           通过Ansible将CI集成成功的镜像部署到已定义的所有机子中,并进行测试。

           如测试通过完成本次部署,如测试失败将判定该项目是否为第一次部署的;

           如该项目不是第一次部署的,则滚回到上一版本的容器,并将原因通过邮件发送给运维管理员。

二、部署步骤

备注:使用的docker-compose未公开

1、安装docker

2、安装docker-compose

3、安装ansible

4、安装git

#yum install -y docker docker-compose ansible git

5、添加阿里云docker源:

vi /usr/lib/systemd/system/docker.service

–registry-mirror=https://jxus37ad.mirror.aliyuncs.com

systemctl restart docker 重启docker

6、拉去共有镜像

docker pull sameersbn/redis

docker pull sameersbn/postgresql:9.6-2

docker pull sameersbn/gitlab:9.2.7

docker pull docker.io/jenkins

docker pull docker.io/registry:2.3

验证:

#docker  images

《CICD实现及环境搭建》

#docker-compose  -v

《CICD实现及环境搭建》

#ansible  all  -m  ping

《CICD实现及环境搭建》

6、创建以下目录及文件

mkdir -p /home/jenkins 用于挂载jenkins

chmod -R 777 /home/jenkins

mkdir -p /home/registry 用于挂载registry 配置文件

mkdir -p /home/registry/auth 用于挂载登录仓库账号密码的目录

touch /home/registry/config.yml 创建registry配置文件,无须自定义配置可跳过此步。

htpasswd -Bbn test 123456 > /home/registry/auth/htpasswd

创建登录仓库密码,若无需密码认证,可跳过此步

mkdir -p /srv/docker/gitlab/redis 用于挂载redis

mkdir -p /srv/docker/gitlab/postgresql 用于挂载postgresql

mkdir -p /srv/docker/gitlab/gitlab 用于挂载gitlab

更改“docker-compose-registry.yml”中的,GITLAB_HOST=

7、保证以下端口对外网开放

ports 10080

ports 10022

ports 8080

ports 50000

ports 5000

8、启动容器

docker-compose -f “./docker-compose-registry.yml” up -d 拉取registry容器

docker-compose -f “./docker-compose-jenkins.yml” up -d 拉取jenkins容器

docker-compose -f “./docker-compose-gitlab.yml” up -d 拉取gitlab容器,及依赖容器

验证:

8.1、是否拉取了五个容器

《CICD实现及环境搭建》

8.2、验证仓库

docker login -u users -p passwd HOST:PORT

如返回:Login Succeeded 则正确可用

8.3、验证gitlab、jenkins

访问对应默认页面即可;备注:容器拉取后越后2-3分钟安装时间。

9、jenkins基本配置

cd /home/jenkins/secrets/initialAdminPassword 查看安装密码

将安装密码填入,并进行安装。

下载插件

Gitlab Plugin GitLab触发jenkins构建项目所需插件

Gitlab Hook Plugin 同上

Build Authorization Token 同上

Multijob Plugin 支持多个job之间的串并联

SSH Plugin 支持ssh链接主机插件

10、创建gitlab 项目

11、创建 jenkins项目及配置CICD

    原文作者:天夭夭
    原文地址: https://www.jianshu.com/p/ea4ff3cc5ad4
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞