新沂城市论坛

查看: 7966|回复: 0
打印 上一主题 下一主题

睿云智合Wise2C方案基于容器来进行软件的持续交付

[复制链接]
  • TA的每日心情

    2018-11-15 19:23
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    楼主
     楼主| 发表于 2017-11-18 13:08:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式 来自 广东省深圳市
        在过去的一段时间里容器已经大量的使用到了IT软件生产的各个环节当中:从软件开发,持续集成,持续部署,测试环境到生产环境。

        除了Docker官方的DockerSwarm,DockerMachine以及DockerCompose以外,开源软件社区还涌现了一系列的与容器相关的工具,涵盖了从容器编排,调度,监控,日志等等各个方面的需求。

        本文将从软件研发流程出发讨论如何基于容器解决软件的持续交付问题,以及团队协作问题。并为大家展示睿云智合(Wise2C)的持续交付平台是如何基于目前最先进的软件开发流程思想设计出来的。

        在持续集成中使用容器

        构建环境统一管理

        在传统模式下使用持续集成工具诸如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。

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享淘帖
    新沂城市论坛免责声明:站内会员言论仅代表会员个人观点,并不代表本站同意其观点,本站不承担由此引起的法律责任。
    您需要登录后才可以回帖 登录 | 注册账号

    本版积分规则

    QQ|Archiver|手机版|小黑屋|新沂城市论坛

    GMT+8, 2025-1-4 17:24 , Processed in 0.034790 second(s), 16 queries , Xcache On.

    苏公网安备 32038102000111号

    快速回复 返回顶部 返回列表