我正在使用 Jenkins 创建构建管道,并且需要在管道中触发部署步骤。这意味着一个手动过程(构建自动发生,定时,然后在部署阶段停止,等待手动授权)。
我还需要使用上一步中的参数触发部署步骤。
因此,使用“参数化插件”,我可以在作业之间传递参数。我可以触发自动或手动触发的下游作业(不确定这是标准功能,还是某些插件添加了手动构建)。
但是,我找不到任何方法来触发手动参数化作业。
有谁知道这样做的方法?我可以使用其他插件吗?
我需要参数的原因是我已经创建了一个通用的部署作业,并且需要传入模块名称和要部署的 maven 版本。我可以为每个模块创建特定的部署作业,但这会非常痛苦。
我也一直在考虑以下内容,但这似乎是一个杂项:
- 自动化作业执行构建,触发“部署触发器”构建,传递参数。
- “部署触发器”将这些参数写入文件系统上的文件(构建步骤 - shell 执行),并手动触发实际部署作业
- 部署作业(必须使用“部署触发器”作业中的 WORKSPACE)从文件系统读取参数(使用 EnvInject 插件)。
这种方法存在各种问题
- 我只是不喜欢它。
- 有一个中间作业只是为了传递参数。这使 Jenkins 工作区变得混乱
- 由于构建是在同一个 WORKSPACE 上执行的,对我来说似乎很脆弱(尽管可行!)