git 代码版本管理器
         jenkins  自动构建集成系统
         docker    虚拟化容器          
 
        实际集成流程      git上某分支提交代码 ----> jenkins 检测到该分支代码发生变动,触发构建项目,下载分支代码,根据编辑的Dockerfile 生成docker镜像,从镜像生成容器 --> 测试 --> 测试成功提交master分支 ---> 
       jenkins 检测到master分支变动 ---> 触发部署流程  ---> jenkins 部署到生产环境节点 ---> 上线


     在提交到master分支前,可以很方便的实现各类测试,完全自动化,能够在几分钟之内构建出测试环境进行测试。
     上线自动化


实验:    
       准备环境:  服务器 centos 6.5   
               
       安装docker   yum install docker -y
      安装jenkins   
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
   yum install jenkins 

   jenkins安装好相应插件

   构建一个项目,并增加git代码地址
    
  docker + git + jenkins 构建自动化持续集成-LMLPHP

构建触发器   这里使用当有push代码的时候触发
   docker + git + jenkins 构建自动化持续集成-LMLPHP

构建环境未选择,可根据需求选择,这个对于实际构建关系不大


接下来重点,实现构建镜像和容器
docker + git + jenkins 构建自动化持续集成-LMLPHP

dcker会根据在git的 php-fpm目录下的Dockerfile 构建镜像,实现准备一个基础镜像,可以在图片中的git地址获取代码

构建容器的时候,是基于构建的body221/nginx:v1 镜像将本机/mnt/myApp 目录映射到容器的/app 目录,/app在nginx配置文件值已经设置为网站跟目录,这样可以直接修改本机目录实现对容器的目录修改,容器nginx的80端口映射到主机的7071,可以直接在浏览器中访问


     到此构建结束,此处并没有使用docker的jenkins镜像,直接基于主机的配置,本机的docker.sock 需要赋予jenkins用户的执行权限,否则构建时候报错,没权限。

    如果使用docker的jenkins镜像,集成后输出构建的镜像,在通过镜像输出容器进行测试。





    










            
10-17 02:54