- OpenStack CI/CD:原理与实践
- 董文娟 尚小冬 张军
- 1220字
- 2023-07-20 18:23:57
推荐序一
2018年7月12日,我正在美国波特兰出差,很荣幸收到张军的邀请,为他们团队最新撰写的书写序。与OpenStack相关的书籍在国内已经有很多了,而且OpenStack在国内的发展也进入了一个成熟期,但是特别讲OpenStack CI/CD或者定制化CI/CD系统的书籍,市场上鲜有耳闻。恰逢此时,7月14日,美国商务部正式发布公告,宣布解除对中兴的拒绝令。中兴通讯也在官方微博上发布一条振奋人心的信息:“满怀信心再出发!”。相信此刻中兴和上万员工的心情是激动的,我们所有人心情也是激动的。反思这件事情,我们的教训是深刻的,没有技术的自主创新和自主可控,就意味着将来可能要被别人牵着鼻子掐着脖子。因此,在我们专注的软件领域,我们要坚定不移地积极地投入开源事业。
言归正传,认识张军是通过OPNFV(Open Platform Network Function Virtualization)社区,他是中兴通讯在OPNFV技术指导委员会的代表,在我的印象中,他是一个十分严谨的人。当他把本书草稿的电子版发给我后,我粗略地看了一遍。这本书是他和他的团队对OpenStack CI/CD系统各个组件开发和研究多年的成果,也是团队多年实践和经验的总结。除了OpenStack系统,现在很多软件发行版比如Linux、Android、OPNFV,甚至是边缘计算项目StarlingX都可以充分利用CI/CD系统。正如他在书中所提到的,OpenStack CI的框架目前只用于OpenStack社区基础设施的管理,了解前台的OpenStack的人很多,但是由于CI/CD是在后台的,接触和了解后面CI/CD的开发者却很少。所以,对于一个要全面掌握系统的开发人员来说,了解和熟悉CI/CD也是十分必要的。而且,CI/CD的适用范围很广,定制化非常高,熟悉了OpenStack CI/CD,则一通而百通。
书中除了介绍OpenStack CI/CD中的关键技术和组件之外,还有一大特色是分享了中兴团队在社区CI/CD工具集上的实践经验,同时指导读者如何定制化和修改OpenStack CI/CD系统,包括剪裁和扩展,即告诉读者如何以一通百。这一点是非常有益的,因为针对不同内部使用需求,针对不同项目需求,是不能直接将OpenStack CI/CD拿来使用的,在这点上我深有体会。举个例子,我现在在英特尔公司从事边缘计算和StarlingX发行版的开发工作,第一个艰巨任务就是要编译和管理StarlingX的众多依赖包,并快速搭建起StarlingX的CI/CD体系。目前这项任务由以前负责Linux开发的墨西哥团队执行,同时该任务也是该边缘计算其他所有功能开发的前提和依赖。它不是简单OpenStack CI/CD的拷贝,在这条路上我们也费了些周折。如果墨西哥团队能了解OpenStack CI/CD,并掌握CI/CD的定制化,以后在任何项目的CI/CD搭建道路上就可以少走很多弯路,相信本书对需要根据项目搭建并定制CI/CD系统的读者有很大的帮助。
另外,开源的持续集成/部署平台Zuul项目最初是为OpenStack CI测试开发的,后来被许多不同的组织所贡献和使用。在今年5月份的OpenStack Vancouver Summit上,OpenStack基金会宣布Zuul项目发布第3版,并且正式成为由OpenStack基金会托管的第三个独立项目。这一点也足以说明CI/CD系统对一个项目的重要性。需要了解Zuul项目的读者,在本书中也能找到相应的答案。
最后,感谢张军和他的团队为OpenStack社区,为开源软件社区贡献了这样一本好书,希望众多OpenStack的开源项目的开发人员、运维人员,以及爱好者们能在书中找到它的价值,并获得帮助。
王庆博士,英特尔开源技术中心网络和存储开发经理,OpenStack基金会个人独立董事