嘉宾介绍 黄文俊 有容云资深系统架构师 主要负责容器云平台产品架构及设计. 8年工作经验, 有着企业级存储, 云计算解决方案相关理解. 关注于微服务设计思考, 开发流程优化, docker及kubernetes技术在实际环境中的应用. 主题 本次分享主要是介绍我公司如何使用Jenkins Pipeline, Container 和 Kubernetes Deployment的能力, 通过增加使用文本模版引擎, 扩展Kubernetes Config能力, 完成公司产品开发CI工作流的建立.主要内…
在如今的互联网时代,随着软件开发复杂度的不断提高,软件开发和发布管理也越来越重要.目前已经形成一套标准的流程,最重要的组成部分就是持续集成(Continuous Integration,CI)及持续部署.交付(CD).在此,我们来以一个案例初步了解 CI 流程.那么什么是 CI 呢?简单来讲,CI 就是将传统的代码合并.构建.部署.测试都集成在一起,不断地执行这个过程,并对结果进行反馈. CI 流程设计图: 工作流程: 1. 开发人员提交代码到Git版本仓库:2. Jenkins人工/定时触发项…
在上一篇文章中,我们介绍了Jenkins 2.x实现流水线的两种语法,以及在实际工作中该如何选择脚本式语法或声明式语法.原文可查阅:「持续集成实践系列」Jenkins 2.x 搭建CI需要掌握的硬核要点(一) 在使用传统的Jenkins Web界面和项目时,比如自由风格类型的任务,我们对处理流程的控制能力是有限的.所采用的典型形式是任务链:任务完成后触发其他的任务.或者我们可能会包括构建后处理,不管任务成功完成与否,总是去做一些类似发送通知的事情. 除了这些基本的功能外,还可以添加条件性构建步骤…
1. 前言 随着互联网软件行业快速发展,为了抢占市场先机,企业不得不持续提高软件的交付效率.特别是现在国内越来越多企业已经在逐步引入DevOps研发模式的变迁,在这些背景催促之下,对于企业研发团队所需要具备的持续集成和持续交付(简称CI/CD)能力变得越来越不可或缺. 相信现在不管是开发人员.测试人员或者是运维人员,在求职招聘时,基本上如果是面试的是中高级以上的职位,大多都要求要具备相关CI/CD的项目建设或参与搭建经验. 为了帮助到更多技术读者,从本周起,将以<持续集成实践系列>为主题,分享…
CI(continuous integration)持续集成 一次构建:可能包含编译,测试,审查和部署,以及其他一些事情,一次构建就是将源代码放在一起,并验证软件是否可以作为一个一致的单元运行的过程.可以理解为频繁的在多个团队的工作中集成,并且给与反馈的过程.团队开发成员经常集成它们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误. CI场景如下: (1)开发人员向版本控制库提交代码,同时,集成构建计算机上的CI服务器正在轮询检查版本控制库中的变更…
编者按:今天聊一聊Docker的Image(镜像)与Container(容器)的存储以及存储驱动之AUFS.   Docker存储驱动简介 Docker内置多种存储驱动,每种存储驱动都是基于Linux文件系统(Linux FS)或者卷管理(Volume Manager)技术.一般来说,Docker存储驱动的名称与文件系统(存储技术)同名,见下表对应关系: AUFS简介 AUFS,起初名为AnotherUnionFileSystem,是一种UnionFS,V2版本后更名为 advanced mul…
私有云是为一个客户单独使用而构建的,因而提供对数据.安全性和服务质量的最有效控制.前置条件是客户拥有基础设施,并可以使用基础设施在其上部署应用程序.其核心属性是专有的资源.本篇文章将会结合网易云信的实践经验,以全局概述的方式带大家认识点播私有化平台构建的整体架构面貌. 推荐阅读 <几十万人同时在线的直播间聊天,如何设计服务端架构?> <高并发IM系统架构优化实践> 云计算的出现,通过硬件的虚拟化将大量的服务器硬件抽象为巨大的资源池,可以动态的为用户提供基础设施.平台和应用三种形式的…
近日,灵雀云发布了基于OVN的Kubernetes网络组件Kube-OVN,并正式将其在Github上开源.Kube-OVN提供了大量目前Kubernetes不具备的网络功能,并在原有基础上进行增强.通过将OpenStack领域成熟的网络功能平移到Kubernetes,来应对更加复杂的基础环境和应用合规性要求.目前Kube-OVN项目代码已经在Github 上开源,项目地址为:https://github.com/alauda/kube-ovn.项目使用宽松的Apache 2.0 协议,欢迎更多…
基于 Jenkins 快速搭建持续集成环境 持续集成是一种软件开发实践,对于提高软件开发效率并保障软件开发质量提供了理论基础.Jenkins 是一个开源软件项目,旨在提供一个开放易用的软件平台,使持续集成变成可能.本文正是从持续集成的基本概念入手,通过具体实例,介绍了如何基于 Jenkins 快速搭建持续集成环境. 6 评论 刘 华婷, 软件工程师, IBM 2011 年 11 月 24 日 内容 在 IBM Bluemix 云平台上开发并部署您的下一个应用. 开始您的试用 持续集成概述 什么是…
之前我们研究dep,就是为了有一天可以实现go语言项目在我们系统里的CI. 之前联物科技的项目主要是使用java作为后端开发语言,基于jenkins的自动发布,使用了pipeline编写脚本,从拉取代码,使用maven编译,构建docker镜像,推送镜像到仓库,调用接口执行docker swarm命令进行容器部署.我一直觉得go目前这个阶段不适合实现传统以业务逻辑为主的系统,但现在有一个项目比较特殊,于是使用了go作为实现.为了也能实现自动化,我和运维从写dockerfile, stackfil…