sharedLibrary共享库优化CICD

如果你经常使用 Jenkins Pipeline 一定会遇到多个不同流水线中有大量重复代码的情况,很多时候为了方便我们都是直接复制粘贴到不同的管道中去的,但是长期下去这些代码的维护就会越来越麻烦。

为了解决这个问题,Jenkins 中提供了共享库的概念来解决重复代码的问题,我们只需要将公共部分提取出来,然后就可以在所有的 Pipeline 中引用这些共享库下面的代码了。

什么是共享库

共享库(shared library)是一些独立的 Groovy 脚本的集合,我们可以在运行 Pipeline 的时候去获取这些共享库代码。

使用共享库最好的方式同样是把代码使用 Git 仓库进行托管,这样我们就可以进行版本化管理了。

使用共享库一般只需要3个步骤即可:

  • 首先创建 Groovy 脚本,添加到 Git 仓库中
  • 然后在 Jenkins 中配置将共享库添加到 Jenkins 中来
  • 最后,在我们的流水线中导入需要使用的共享库:@Library('your-shared-library'),这样就可以使用共享库中的代码了。

让devops流程更好用

  • 项目更简便的接入
  • devops流程更方便维护

思路

把各项目中公用的逻辑,抽象成方法,放到独立的library项目中,在各项目中引入shared-library项目,调用library提供的方法。

  • 镜像构建、推送
  • k8s服务部署、监控
  • 钉钉消息推送
  • 代码扫描
  • robot集成测试

为了兼容多环境的CICD,因此采用模板与数据分离的方式,项目中的定义模板,shared-library中实现模板替换。为了实现shared-library与各项目解耦,使用configmap来维护模板与真实数据的值,思路是约定大于配置。

Copyright © www.yuchaoit.cn 2025 all right reserved,powered by Gitbook作者:于超 2024-03-31 19:40:32

results matching ""

    No results matching ""