欢迎来到天天文库
浏览记录
ID:14829405
大小:2.42 MB
页数:12页
时间:2018-07-30
《如何搭建基于jenkins apache mesos和marathon的弹性高可用的持续集成环境》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、如何搭建基于Jenkins,ApacheMesos和Marathon的弹性高可用的持续集成环境持续集成(CI)是一种软件开发实践,使用得当,它会极大的提高软件开发效率并保障软件开发质量;Jenkins是一个开源项目,它提供了一种易于使用的持续集成系统;Mesos是Apache下的一个开源的统一资源管理与调度平台,它被称为是分布式系统的内核;Marathon是注册到ApacheMesos上的管理长时应用(long-runningapplications)的framework,如果把Mesos比作数据中心kernel的话,那么M
2、arathon就是init或者upstart的daemon。本文旨在探讨如何利用Jenkins,ApacheMesos和Marathon搭建一套弹性的,高可用的持续集成环境。为什么要把Jenkins运行到ApacheMesos上把Jenkins运行到ApacheMesos上,或者说利用ApacheMesos向Jenkins提供slave资源,最主要的目的是利用Mesos的弹性资源分配来提高资源利用率。通过配置Jenkins-on-Mesos插件,JenkinsMaster可以在作业构建时根据实际需要动态的向Mesos申请sl
3、ave节点,并在构建完成的一段时间后将节点归还给mesos。同时,Marathon会对发布到它之上的应用程序进行健康检查,从而在应用程序由于某些原因意外崩溃后自动重启该应用。这样,选择利用Marathon管理JenkinsMaster保证了该构建系统的全局高可用。而且,JenkinsMaster本身也通过Marathon部署运行在Mesos资源池内,进一步实现了资源共享,提高了资源利用率。下面两张图形象的说明了Marathon将JenkinsMaster部署到Mesos资源池,oftheenemy'sattack.Troop
4、s,andtroopswerescattered,QianKangmin,Commander,DeputyCommanderDingBingchengandothersheroicmartyrdom.Turkforeign"resistance"membersfortheevacuation.Sincethen,WujiangCountyGovernmentDistrictlongZhangPinquanwaskilledbytheJapanese.CPCjindapeng,XiaoXinwastryingtorecomme
5、ndthinking以及JenkinsMaster使用Mesos资源池进行作业构建的整个过程。环境设置为了便于理解,这里我简化了Mesos/Marathon集群的架构,不再考虑集群本身的高可用性。至于如何利用zookeeper配置高可用的mesos/marathon集群,可以参考Mesosphere的官方文档,这里不再展开。我搭建了一个包含40个节点192.168.3.4-192.168.3.43的Mesos集群,其中一个节点用作运行Marthon及Mesos-master,其它39个节点作为mesos的slave,如下所示
6、。配置启动Marathon,Mesos-Master和Mesos-Slave后,下面的整个操作都将在这个集群上完成。oftheenemy'sattack.Troops,andtroopswerescattered,QianKangmin,Commander,DeputyCommanderDingBingchengandothersheroicmartyrdom.Turkforeign"resistance"membersfortheevacuation.Sincethen,WujiangCountyGovernmentDis
7、trictlongZhangPinquanwaskilledbytheJapanese.CPCjindapeng,XiaoXinwastryingtorecommendthinking在Marathon上部署Jenkins的master实例Marathon支持web页面或者RESTapi两种方式发布应用,在192.168.3.*内网执行下面的bash命令,就会通过Marathon的RESTapi在mesosslave上启动一个Jenkinsmaster实例。如果Jenkinsmaster实例被成功部署,通过浏览器访问192.
8、168.3.4:8080(请确定你的浏览器能够访问内网,譬如可以利用设置浏览器代理等方式来搞定)可以在runningtasks列表中找到jenkins,点击进入详细信息页面,我们会看到下图:访问192.168.3.4:5050/#/frameworks并在ActiveFrameworks中
此文档下载收益归作者所有