目前几乎使用jenkins进行敏捷开发,看上一期的讲解后,发现融入到一个统一的节目,使用api方式构建。这种方式感觉很直观,感觉十分优秀。有下面2个问题:
1、是否在大规模的项目才需要进行开发
2、遇到报错如何更直接的抛出
不建议直接在jenkins上进行开发,因为jenkins这两年来,版本更新非常快,各种新功能也在不断的进行迭代。
如果需要二开,建议在jenkins的上层,也就是对工具的纳管、路由、分发,标签,以及api的管理进行开发。
对于工具一层,我建议进行原子化使用,举个通俗的例子,将jenkins分为几个集群,构建集群,对接sonar的集群,部署包的集群,对接自动化测试的集群,对接制品库的集群。每个集群的工具都是独立的,不在工具层面存放数据,这样可以实现工具集群的弹性伸缩和扩容,也不会被工具的原生集群绑架,完全可以做工具的自主管控,如果后续有更好的工具,替换起来也更方便。
针对第二个问题,如果报错,可以直接抛出异常,我们要注意一点,是否需要对抛出的异常进行CICD过程的终止和回退。