在Jenkinsfile中,我作为离散阶段具有以下内容:
reserved
但是,当我查看我的Jenkins管道时,它看起来好像失败了并且没有运行整个脚本:
stage("Check if Postman scripts are already cloned, delete") {
steps {
sh "[ -d postman-scripts ] && rm -rf postman-scripts && echo 'Directory cleared.'"
}
}
是因为没有找到[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Check if Postman scripts are already cloned, delete)
[Pipeline] sh
+ '[' -d postman-scripts ']'
[Pipeline] }
目录,所以没有执行脚本的其余部分吗?那算作构建失败吗?它跳过了随后的所有阶段,因此从逻辑上讲,我认为它正在这样做。
bash脚本编写方面的任何帮助也都很好,我不完全确定如何将所有这些字符串串在一起以执行所需的操作(如果存在目录,请删除目录。否则不做任何事情。)>
答案 0 :(得分:0)
如果目录不存在,则您的外壳测试条件[ -d postman-scripts ]
将失败。像其他任何命令一样,这是一个失败,因此退出。 @jordanm是正确的,即使没有要删除的内容,使用-f
也会返回成功,因此您的下一步将继续。如果由于系统锁定或类似原因而无法删除文件,则为例外,这可能是一件好事,