我有一组工作,它们仅在他们构建的分支和其他一些属性上有所不同。这些作业有一个相当复杂的构建脚本,所以我想避免维护该脚本的多个副本。
避免冗余配置的一种可能方法是使用构建脚本设置一个主要作业,并使用与其他作业不同的参数来触发该作业。然而,这种方法有以下缺点:
- 在分析一个特定参数集发生的问题时,从触发作业(从下游主作业继承其构建状态)到触发的主作业有一个额外的间接性。
- 对于使用 git 子模块的项目,在主作业中检查不同的分支已被证明要么容易出错,要么非常昂贵。每个分支都有一个单独的工作区效果更好。
所以我的问题是:除了触发主作业之外,是否可以在触发作业中“内联”执行主作业?
例如,如果将主作业的控制台输出直接打印在触发作业的控制台中,那就太好了。此外,主作业应使用触发作业的工作区(或触发作业工作区的子文件夹中的工作区)。