【发布时间】:2020-03-13 15:10:32
【问题描述】:
我的 Angular 应用程序在 Jenkins 上运行良好,所有阶段都已定义。它有近 600 个单元测试用例在构建阶段之前使用无头 chrome 作为 Jenkins 阶段运行。一切正常。
现在测试阶段需要 6-10 分钟,这取决于服务器负载,即使规范文件没有更改。现在测试在管道语法中是强制性的。我想让它成为有条件的。
我只想在测试阶段添加条件,而不是在构建阶段。条件是,如果 .spec 文件没有更改,Jenkins 应该跳过该阶段并执行 Build 阶段。
stage('Test') {
steps {
sh 'npm run test:headless'
}
}
然后是构建阶段:
stage('Build') {
steps {
sh 'npm run build:dev'
}
}
提前感谢您的帮助。
【问题讨论】:
-
@DanielHabenicht 看起来很有希望,但是为目录名称提供的解决方案,这里的规范文件在每个目录中,一个目录可能包含 TS 和 SPEC 两个文件更改或一个,有什么可能找到差异使用 SRC 文件夹下的文件扩展名,在我的情况下仅 .spec 文件
-
另外,只想获取 .spec 文件更改的结果,而不是 .ts 或 .scss 或 .html 文件更改。
-
可能有多个提交,仅最后两个提交比较在我的情况下不起作用。 “立即构建”是手动的,我们会在需要时触发操作。
标签: angular jenkins jenkins-plugins