AG亚游平台代理
  咨询电话:13568281492

亚游娱乐

使用应用编排服务一键式部署,持续集成利器--jenkins

这篇文章主要是来聊一聊jenkins,可说道jenkins,我没有办法不把它与持续集成(Continuous integration,简称CI)联系到一起,所以我先来谈谈什么是持续集成以及为什么需要持续集成?

我举个生活中的直观例子,最近家里刚刚搞完装修,就发现这装修的过程中,暗含着很多持续集成的思想,比如说地板,你家的房子50平,80平,100平,又有卧室客厅,可是地板块的大小就是统一的,而且都很小块,小而灵活就是持续集成的一个关键,其次呢,无论在哪里,地板要从一个边开始,一块一块的铺,铺完一块敲一下让地板块紧密排布在一起,再铺另一块,如果发现这块是残次品,赶紧换另一块,而不是全部铺完,再一起检查。你可以把每一块地板看作是一行代码,持续集成就是你写一行代码就会集成一次检测一次。再比如家里要安装水管和电路,地板铺完了要测试下是不是把水管敲坏了,线路铺完了,,水管装好了 都要用一用。如果全部装完了再测,出现问题可能会互相影响,比如电路不行咋办呢?可能要把地板撬开……。那么每完成一部分就测试,这也是持续集成的一部分。全部装修完了,你去验收,发现地砖颜色和墙纸颜色不匹配,水池有裂痕,马桶漏水,返工吗,那成本可太大了,所以不如每完成一部分,你就去用一下试用验收,这还是持续集成的一部分。你可以把电路,水管,地板看作是一个一个特性,没完成一个特性就要进行一次集成验收,而不是全部都弄完了再来集成验收。如此持续集成的价值便不然而喻了。

 

互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分便是那持续集成。持续集成说的通俗点就是,快节奏地,频繁地,进行代码合入和测试。如今云计算平台日臻完善,容器技术广泛普及,微服务化改造进行如火如荼,小步快跑的敏捷开发发布流程越来越深入每一个企业和开发人员的日常工作中,这一切都衍生出了当前互联网模式的一个显著特点,那就是极其快速的产品迭代与交付、7*24小时在线以及问题响应修复及时。这与传统的瀑布等开发模式大相径庭,而持续集成正是这一切的基础保障。持续集成的核心措施是,你编写的每一行代码在合入和发布的时候,必须通过自动化测试。只要有一个测试用例失败,整个流程就会终止,持续集成并不能消除Bug,而是让它们非常容易发现和改正。这里强调了一个关键词“自动化”集成,我们来感受下如果没有自动化会发生什么呢?

 

话说没有对比就没有伤害,如果没有自动化持续集成,第一个矛盾点会集中在,Dev与Ops之间,即一个要变化,一个要稳定。对于一个服务上线发布,测试,升级部署是不可避免的,作为ops人员经常存在的一个场景就是:不懂业务,对着开发人员每一步都写得清清楚楚的操作指南,一步步执行,不问为什么,出了问题找开发,全都是你的锅。开发人员一定很气愤,这种ops要来有什么用,机器人吗? 而且ops人员最讨厌的就是变化,恨不得你先开发十年的特性,十年变更一次才好。测试也是存在类似的问题,你新写的每一行代码合入后如果不全量测试一遍,谁又能保证没有问题呢? 如果按照持续集成的思想,那测试会抱怨,因为你的小步快跑而不得不把同样的测试用例反复执行,说到这自动化的好处就呼之欲出了,而jenkins便是这自动化集成的利器。终于开始正文了

 

Jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,如:自动化,性能,打包,部署,发布&发布结果自动化验证,接口测试,单元测试等等等等。jenkins可以很好的支持各种语言(比如:java, c#, php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。简单点说,Jenkins其实就是大的框架集,可以整个任何你想整合的内容,实现公司的整个持续集成体系!各种你能想到的,和不能想到的 ,而且Jenkins可自由部署在各种平台:Windows, Linux, Mac。这么优秀的工具如果获取安装部署使用呢?使用AOS示例模板,你无需下载软件,无需配置,真,完成自动化,给你持续集成般的畅快体验!

 

本示例模板 Jenkins服务 (jenkins-with-cluster)帮助您部署Jenkins服务,部署成功后,通过outputs界面展示的Web URL,可以访问Jenkins服务,堆栈创建的资源包括VPC(虚拟私有云)、Subnet(子网)、Cluster(集群)、Deployment、StatefulSet、Service和Secret。使用本模板前,你需要保证至少有一个可用的密钥对,如果你还没有key pair,请先点击这里创建。

 

 

【部署结果展示】

    浏览器打开获得如下初始化界面,按照jenkins流程进行初始化即可

【部署流程详解】

    使用jenkins服务示例模板创建堆栈,点击创建堆栈
    填写堆栈名称与描述。

 

    填写输入参数。(1)基础资源配置:填写可用区,cce集群规格,节点规格,密钥对。

 

(2)jenkins配置:jenkins镜像地址,访问端口服务号

  注意事项:jenkins服务端口填写范围为1~65535。

 

    点击下一步,审核配置信息,查看计费信息,点击创建堆栈。确认是否开通CCE服务

 

    等待创建成功。

 

    查看堆栈输出参数,获得jenkins服务访问地址http://49.4.92.105:32129,

 

, 1, 0, 9);