我想将一个简单的if脚本集成到我的Jenkinsfile中,但是我有一个小问题:
我的Bash脚本:
#!/bin/bash
if [ -e /root/test/*.php ];then
echo "Found file"
else
echo "Did not find file"
fi
脚本工作得很好,但是如果我尝试将其集成到一个阶段中,它们将无法运行:
stage('Test') {
steps {
script {
if [ -e "/root/test/*.php" ];then
echo found
else
echo not found
}
}
}
答案 0 :(得分:1)
管道的script
步骤要求使用Groovy脚本,而不是Bash脚本-https://jenkins.io/doc/book/pipeline/syntax/#script
您可以使用sh
step which is designed to execute shell scripts来代替使用script
步骤。这样的事情(这只是一个例子):
stage('Test') {
steps {
sh(returnStdout: true, script: '''#!/bin/bash
if [ -e /root/test/*.php ];then
echo "Found file"
else
echo "Did not find file"
fi
'''.stripIndent())
}
}