jenkins - Jenkins 流水线持续集成
问题描述
我有 20-30 个项目,我正在使用他们自己的 git 存储库,每个存储库都有几个不依赖于其他项目的分支。我正在寻找是否有办法提出 Jenkins Pipeline 来适应所有具有 CI/CD 生态系统的项目。或者我是否需要为每个回购创建单独的管道。
- 有没有办法可以在所有这些项目中使用一个 Jenkins 文件。
- 如果模块 3 依赖于来自模块 1 和 2 的数据,您如何在管道之间共享数据。
- 如果我有 30 个项目,是否需要创建 30 个挂钩/令牌?
我能够在前三个之间创建依赖构建触发器,这样如果 A 和 B 构建,那么 C 将使用 SCM 轮询选项构建并构建触发器。
解决方案
您可以在 Jenkins 管道中使用共享库。这是一个相当复杂的过程,需要在 groovy 中编写库。
随着管道被组织中越来越多的项目采用,可能会出现通用模式。通常,在不同项目之间共享部分管道以减少冗余并保持代码“干燥”是很有用的。
Pipeline 支持创建“共享库”,可以在外部源代码控制存储库中定义并加载到现有的 Pipelines 中。
推荐阅读
- node.js - 使用 --config 设置 Mocha 的路径
- bash - 将 tar 存档输出到 bash 脚本中的特定路径
- arrays - 我正在尝试存储大量数据,我希望它可以在我的用户下载的应用程序中访问
- sql - 将出生日期转换为当前年份
- javascript - 如何检查所有可能的数据解码
- mysql - 如何将行转换为列与其值在 SQL 中的频率
- java - 获取联系人姓名和号码后如何使用意图拨打电话
- javascript - Express POST 后重定向到新的 Mongo Saved ID?
- jquery - jQuery没有显示“请填写此字段”
- python - Do I need to install the PostgresSql in Project directory for it to work with psycopg2?