Rundeck配置SCM exportUuidBehavior为original仍覆盖作业UUID问题
问题根因排查
- 触发
original导出行为的前提是导入的作业已在Rundeck元数据中存储了原始仓库UUID,你在开发项目配置archive导入规则前如果已经导入过对应作业,旧作业没有关联原始UUID元数据,导出时自然会使用开发项目分配的新UUID。 - 你使用的Rundeck 3.3.10属于较早的3.3维护版本,存在已知的SCM导出插件
exportUuidBehavior配置不生效的bug,该问题在后续3.3.18及更高的3.3.x维护版本中已修复。 - 配置文件中
pathTemplate如果和导入时的规则不完全匹配,可能导出时生成新文件而非覆盖原有文件,导致你误判UUID被修改。
解决方案
- 先清空开发项目现有作业,删除对应项目SCM本地工作目录(你配置中的
/home/niek/rundeck/projects/UUID_test_2/scm)下的所有缓存文件,确认导入插件importUuidBehavior为archive后重新拉取仓库内容导入,确保所有作业都正确关联原始UUID元数据。 - 对刚导入未做任何修改的作业执行导出操作,查看导出文件的UUID字段,如果还是显示开发项目的新UUID,建议将Rundeck升级到3.3.18或更高的3.3.x维护版本,即可解决配置不生效的问题。
- 如果暂时无法升级,可以在代码合并环节增加CI校验规则:合并到生产分支前检查作业定义的UUID字段,若和生产分支现有UUID不一致则阻止合并,避免生产UUID被覆盖。
内容的提问来源于stack exchange,提问作者niekvn1
相关产品推荐
相关产品推荐

