Jenkins 流水线生成器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/jenkins-pipeline-generator 技能。
技能介绍
要解决的问题
手写 Jenkinsfile 的难点通常不在语法本身,而在于三件事:声明式流水线的 schema 分散在文档各处,stage/agent/post 的组合写错了往往要等到运行时才暴露;团队内部的共享库约定(步骤封装、通用工具)很难在每份脚本里一致落地;以及脚本写完之后,既看不到它在真实 Job 上跑起来的样子,也没法直接核对当前 Job 的配置。排查问题时经常要在代码仓库、Jenkins 界面和官方文档之间来回切换。
技能如何工作
它不做通用的 CI 脚本生成,只聚焦在 Jenkins 声明式流水线这条线上,工作方式大致是:
- 以 Jenkins Pipeline Syntax 参考文档为依据生成脚本,避免凭记忆写出不存在的指令或参数。
- 采用 shared library 模式:把可复用步骤封装进库,生成的
Jenkinsfile通过库调用完成逻辑,而不是把所有步骤内联,便于多个项目共用同一套约定。 - 通过 Jenkins REST API(
/api/json)读取 Job 的现有配置,让生成结果尽量贴合当前 Job 的实际情况,而不是凭空产出一份孤立的脚本。 - 借助 Blue Ocean API把流水线结构映射为可视化信息,用来确认 stage 划分和整体编排是否符合预期。
整体流程可以理解为:收集 Job 上下文 → 匹配语法与库约定 → 产出脚本 → 用可视化接口校验编排。
适用边界与注意点
- 它生成的是声明式(declarative)脚本。如果项目依赖 Scripted pipeline 的灵活控制流,或需要在流水线内执行任意 Groovy 逻辑,这套生成方式并不适合。
- 共享库模式要求库已被加载且配置正确。仓库路径或
Jenkinsfile库目录约定不一致时,生成出来的调用会指向不存在的方法,需要先把环境对齐。 - REST API 与 Blue Ocean API 的访问依赖 Jenkins 端已开启相应接口,以及具备读取权限的凭证。Job 配置读不到时,脚本只能按通用结构生成,无法做到与当前配置精确匹配。
- 该技能只处理脚本与配置层面,不会替你部署 Jenkins。Jenkins 官方发行版以 WAR、Docker 镜像和各平台原生安装包形式提供,部署、升级与维护仍需自行负责。
- 上游文档会随 Jenkins 版本演进,引用的语法与接口可能和你实际使用的版本存在差异,建议对照所部署版本的官方文档核对关键指令。
使用场景
- 新项目要接入 Jenkins CI,需要生成一份结构完整、stage 划分清晰的声明式 Jenkinsfile 作为起点。
- 团队用共享库封装了通用构建与发布步骤,需要按现有约定生成调用这些方法的流水线脚本。
- 在已有 Jenkins Job 上补充流水线,需要先通过 REST API 读取当前 Job 配置再生成脚本。
- 脚本写完后,想用 Blue Ocean API 查看生成的流水线结构是否符合预期,再合并进仓库。
适合人员
- Jenkins 流水线维护者:需要在多个 Job 之间保持脚本结构一致,并减少语法试错。
- 平台工程师:负责用共享库统一构建与发布步骤,要把约定落到各项目的 Jenkinsfile 里。
- CI 迁移工程师:从其他 CI 系统迁到 Jenkins,需要按声明式语法快速产出可用的流水线脚本。