stash:保存临时文件

将文件保存起来,以便同一次构建的其他步骤或阶段使用。 如果整个流水线在同一台机器上执行,那stash是多余的,一般用于跨Jenkins node使用。 stash步骤会将文件存储在tar文件中,对于大文件的stash操作会消耗Jenkins master的计算资源。

  • name:字符串类型,保存文件的集合的唯一标识
  • allowEmpty:布尔类型,允许stash内容为空
  • excludes:字符串类型,排除文件,如果排除多个使用「逗号」分隔
  • includes:字符串类型,stash文件,留空表示全部
  • useDefaultExcludes:布尔类型,true:使用Ant风格路径默认排除文件 Ant风格 匹配任何单字符匹配项目根路径下所有在project路径下的.a文件最长匹配原则: /project/dir/file.jsp,现在存在两个路径匹配模式 /**/*.jsp/project/dir/*.jsp 那么会根据模式/project/dir/*.jsp来匹配

unstash:取出之前stash的文件

pipeline {
   agent none
   stages {
       stage('stash') {
           agent {label "master"}
           steps {
               writeFile file: "a.txt",text: "
               stash(name: "abc", includes: "a.txt")
           }
       }
       stage('unstash') {
           agent {label "node2"}
           steps {
               script {
                   unstash("abc")
                   def content = readFile("a.txt")
                   echo "${content}"
               }
           }
       }
   }
}

参考:https://cloud.tencent.com/developer/article/1465851

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐