我所就职的公司领导层决定要在公司内推行DEVOPS文化。
在这项任务中需要实现一个能够提供DEVOPS工具链平台,以协助各个团队来实践DEVOPS文化。搭建DEVOPS平台的工作最终分配给我来进行设计和实现。
经过对公司开发流程现状的了解以及相应的技术选型后,我决定使用Jenkins来实现这一工具链平台。在实现过程中,我引入了Jenkins shard library,并将常用的CI/CD操作子步骤封装并放入到shard library中,以提高这些功能的复用性。同时为了降低编写Jenkins pipeline的难度,我对各类工程的研发测试以及上线流程进行了整理和总结,并实现出一系列的pipeline模版。这些pipeline模版使用了shard library进行保存和版本管理。在平台上线后,为了满足其他团队的相应发版/部署需求,我实现了相应的自定义Jenkins job编排策略。我还使用了Jenkins分布式集群的部署方式来满足公司对于平台搭建的网络以及安全性等方面的要求。
最终大部分研发项目的迭代流程都迁移到了平台上。该平台的推行对研发项目的迭代流程的规范化管理起到了很大的帮助。同时,在平台上进行迭代流程能够提升研发和测试工作的效率。