新沂城市论坛
标题:
睿云智合Wise2C方案基于容器来进行软件的持续交付
[打印本页]
作者:
open90
时间:
2017-11-18 13:08
标题:
在过去的一段时间里容器已经大量的使用到了IT软件生产的各个环节当中:从软件开发,持续集成,持续部署,测试环境到生产环境。 除了Docker
在过去的一段时间里容器已经大量的使用到了IT软件生产的各个环节当中:从软件开发,持续集成,持续部署,测试环境到生产环境。
除了Docker官方的DockerSwarm,DockerMachine以及DockerCompose以外,开源软件社区还涌现了一系列的与容器相关的工具,涵盖了从容器编排,调度,监控,日志等等各个方面的需求。
本文将从软件研发流程出发讨论如何基于容器解决软件的持续交付问题,以及团队协作问题。并为大家展示睿云智合(Wise2C)的持续交付平台是如何基于目前最先进的软件开发流程思想设计出来的。
总体技术方案.png
(129.55 KB, 下载次数: 14)
下载附件
2017-11-18 13:08 上传
在持续集成中使用容器
构建环境统一管理
在传统模式下使用持续集成工具诸如Jenkins,在部署企业持续持续集成平台的第一个问题就是多样化的构建构建环境需求,而通常的做法是将构建Agent(服务器或者虚拟机)分配给团队由团队自己管理构建服务器的环境配置信息,安装相应的构建依赖等。
在持续集成中使用docker
dockerrun--rm-v`pwd`:/workspace-v/tmp/.m2/repository:/root/.m2/repository--workdir/workspace?maven:3-jdk-8/bin/sh-c'mvncleanpackage'
如上所示,我们可以非常方便的通过容器来完成软件包的构建,其中有几个点需要注意的是:
--rm命令可以确保当命令执行完成后能够自动清理构建时产生的容器,我想你应该不太希望需要不定期清理构建服务器磁盘的问题吧。
--v除了将当前源码挂载到容器当中以外,我们还可以通过挂载磁盘来缓存一些构建所需的依赖,比如maven下载的jar包,从而提高编译效率。
--workerdir用以指定构建命令执行的工作路径,当然需要和workspace保持一致。
如上,基于容器我们可以快速搭建适应多种构建需求的CI构建环境,所有需要的一起就是你的构建服务器上需要的只有Docker。
欢迎光临 新沂城市论坛 (http://bbs.0516k.com/)
Powered by Discuz! X3.2