Jenkins pipeline的一些坑
stash插件
默认是既打包也压缩,处理大文件很慢,插件没有提供压缩方式的选项,可以下载源码修改重新编译,改成只打包不进行,速度上有一点提升。
parallel并行构建
并行构建时,如果其中一个失败,其他的获取到的currentbuild.result也会是失败,而且没有一个单独的变量来表示某一次的结果。只要有一个失败,这个变量就会被置为failed。我目前是在pipeline外定义了一个字典,来存储子构建的结果,在post阶段通过读取该字典得到子构建的结果
pipeline内有最大字符限制
pipeline内的内容有一个64K的限制,所以如果你将所有操作都写在pipeline内,将会得到一个Method too large的报错,解决方法是通过共享库的方法规避。