我正在创建一个简单的terraform管道如下jenkins [安装在Windows上]似乎sh命令不起作用,我在我的系统中有git bash [即:C:\ Program Files \ Git \ bin]]在我的系统中并且有在环境变量中提供了路径,仍然出现如下错误:
java.io.IOException:CreateProcess error = 2,系统找不到指定的文件
造成:java.io.IOException:无法运行程序“nohup”(在目录“C:\ Users \ XYZ.jenkins \ workspace \ Pipe_Groovy”中):CreateProcess error = 2,系统找不到指定的文件
代码:
pipeline {
agent {
node {
label 'master'
}
}
stages {
stage('terraform started') {
steps {
sh 'echo "Started...!" '
}
}
stage('git clone') {
steps {
sh 'sudo rm -r *;sudo git clone https://gist.github.com/XXXXX/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
}
stage('tfsvars create'){
steps {
sh 'sudo cp /home/ec2-user/vars.tf ./jenkins/'
}
}
请指教。
您应该在Windows上的Jenkins管道中使用bat
而不是sh
。以下是使用bat
的文档:
https://jenkins.io/doc/pipeline/steps/workflow-durable-task-step/#-bat-%20windows%20batch%20script
即便如此,你可能也不需要nohup
。但是,如果你仍然需要nohup
,请考虑安装Cygwin。
有关相关的Jenkins JIRA问题,请参阅https://issues.jenkins-ci.org/browse/JENKINS-33708。