DevOps入门详解2---可持续集成jenkins

DevOps入门详解1---DevOps介绍

DevOps入门详解2---可持续集成jenkins

DevOps入门详解3---容器管理平台Rancher

那如何实现可持续集成呢?

1 持续集成

  1.1 持续集成介绍

      1.1.1问题描述

      传统的软件开发流程如下:

      1、项目经理分配模块给开发人员

      2、每个模块的开发人员并行开发,并进行单元测试

      3、开发完毕,将代码集成部署到测试服务器,测试人员进行测试。

      4、测试人员发现bug,提交bug、开发人员修改bug

      5、bug修改完毕再次集成、测试。

      问题描述:

      1、模块之间依赖关系复杂,在集成时发现大量bug

      2、测试人员等待测试时间过长

      3、软件交付无法保障

      解决上述问题的思考:

      1、能否把集成测试时间提前?

      2、能否使用自动化工具代替人工集成部署的过程?

     1.1.2 什么是持续集成

      下面是百度百科介绍

             

       持续集成(Continuous integration)简称CI,持续集成的思想是每天要多次将代码合并到主干,并进行集成、测试,这样就可以提早发现错误,进行修正。持久集成也属于DevOps

      持续集成的好处:

      1、自动化集成部署,提高了集成效率;

      2、更快的修复问题;

      3、更快的进行交付;

      4、提高了产品质量;

      5、减少人力部署成本。

      1.1.3 持续集成流程

      

  jenkins搭建请参照本人另一篇文章:centOS7搭建jenkins,实现maven+tomcat+vue远程服务器自动化构建

  上文未涉及docker容器化部署,下面再详细解说下docker与jenkins集成

    1.1.4 docker与jenkins实现可持续集成

    1、新建maven项目

  

    2、配置git地址 

 

    3、配置maven构建前操作

    配置远程shell命令

#!/bin/bash
// 查看是否存在启动容器
result=$(docker ps | grep "live-service")
if [[ "$result" != "" ]]
then
echo "stop live-service"
// 停止容器
docker stop live-service
fi
// 查看是否存在容器
result1=$(docker ps -a | grep "live-service")
if [[ "$result1" != "" ]]
then
echo "rm live-service"
// 删除容器
docker rm live-service
fi
// 查看是否存在镜像
result2=$(docker images | grep "live-service")
if [[ "$result2" != "" ]]
then
echo "rmi ip:5000/live-service:2.0.0"
// 删除镜像
docker rmi ip:5000/live-service:2.0.0
fi

    大概脚本流程就是 停止容器---删除容器---删除镜像

   4、配置maven编译地址、命令

    5、执行编译后,远程服务器,执行脚本

    配置远程shell命令 

docker run --name live-service -p 8099:8099 -d ip:5000/live-service:2.0.0
docker logs -f live-service

    大概流程就是 从docker私有仓库拉取镜像---创建容器并启动 

   6、执行构建,返回success则构建成功

    进入任务页面,点击“立即构建”

    开始构建,查看日志,sucess则成功

  构建成功后,服务器上可以看到镜像启动成功

   此外,jenkins支持自动化、定时构建。

发布了41 篇原创文章 · 获赞 47 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/u014526891/article/details/103759526