jenkins pipeline之stash/unstash
时间: 2023-07-09 19:52:51 浏览: 83
Jenkins Pipeline中的stash和unstash命令用于在不同stage或不同node之间共享文件。stash命令可以将指定的文件保存到Jenkins Master节点的临时目录中,并为其命名;而unstash命令则可以将之前保存的文件取出并在当前节点使用。
stash和unstash命令通常用于在不同stage之间共享文件,例如在构建阶段生成的一些文件需要在后续阶段使用,或者在不同节点之间共享文件。下面是一个stash和unstash的示例代码:
```
pipeline {
agent any
stages {
stage('Build') {
steps {
// 编译代码
sh 'make'
// 保存生成的二进制文件
stash name: 'binaries', includes: 'bin/*'
}
}
stage('Test') {
steps {
// 取出之前保存的二进制文件
unstash 'binaries'
// 运行测试
sh './run_tests.sh'
}
}
}
}
```
在这个示例中,我们在Build阶段中保存了编译生成的二进制文件,并为其命名为'binaries';然后在Test阶段中使用unstash命令取出这些文件,并在当前节点运行测试。注意,stash和unstash命令都需要指定保存/取出的文件名,以确保正确地共享文件。