我们有很多使用“混合”语法的复杂管道。我们将它们作为基于开源MPL项目的共享库分发。
我称之为'混合'语法,因为我们有一些逻辑优先声明
MPLpipeline{
node('blablah'){
do_some_init_()
}
pipeline{...}
}
字符串
我们得到“方法太长”错误的情况下,我们添加了大量的代码到declerative节。这是一个已知的Java限制,每个方法65 kb,似乎管道{}中的所有内容都被认为是一个方法)
我想运行一些测试/脚本,它将通过我们拥有的所有管道,并编译它们,包括所有需要的共享库(基本上这个共享库也使用另一个),并测量字节码的大小。
基本上,我需要一些逻辑,将检测管道是否超过限制大小或不之前,我们合并到主分支。
有谁知道做这件事的好方法吗?如果可能的话?
1条答案
按热度按时间qxgroojn1#
据我所知,这是不可能的。但你可以像这样创建管道
字符串
library "your-library-name@${branch}"
-分支变量可以被删除,这是为多分支管道做的,当你有功能分支并做了一些代码,在合并之前测试它是否工作。从jenkins全局配置加载库Pipeline{}
您从vars/文件夹管道如果方法错误太大,则该流水线将失败