我有一个Maven项目,其中有一些其他项目作为依赖项,而那些依赖项可能还有一些其他项目作为依赖项。
Proj1(Proj2作为依赖项) | ----> Proj2(Proj3作为依赖项) | ----> Proj3(以Projn作为依赖项)
因此,我需要制作一组Jenkins作业,每个作业根据依赖关系树逐个运行:
作业3(第1次运行) | ----> Job2(运行第二) | ----> Job1(最后运行)
要补充一下我之间的烦恼,作为检查工具。在一次签入中,我们可能有多个项目代码作为补丁集。因此,所有作业应在运行时从修补程序集中获取最新的检入代码。在这种情况下,触发也有些棘手。
有可能吗?如果是,怎么办?
注意-我不是这些活动的专家。
答案 0 :(得分:0)
您尝试过使用该作业所依赖的其他作业,可以在Gerrit触发器的高级选项下找到。我还没有解决这个问题,但是根据下面的描述,它应该可以满足您的要求。
插入该作业实际依赖的所有作业(在静默方式作业中触发的跳过)。如果提交既触发了依赖关系又触发了该作业,则将首先构建依赖关系。使用逗号分隔作业名称。当心循环依赖性。启用此选项后,父构建可用作构建的Env变量
- TRIGGER_DEPENDENCY_KEYS =“已触发的父项目的所有键名称的空格分隔列表”
- TRIGGER__BUILD_NAME =“已触发项目的内部版本名称”
- TRIGGER__BUILD_NUMBER =“已触发项目的内部版本号”
- TRIGGER__BUILD_RESULT =“已触发项目的生成结果” 项目密钥名称是使用简单的正则表达式从完整的项目名称生成的: replaceAll(“ [^ a-zA-Z0-9] +”,“ _”)。因此,所有非字母数字字符都将替换为“ _”。