![](/img/trans.png)
[英]How to insert variable to sh aws command in a jenkins pipeline groovy script?
[英]Jenkins pipeline using groovy script : Error while executing sh command
我在jenkins中為terraform創建一個簡單的管道,如下所示[安裝在Windows上]似乎sh命令無法正常工作,我的系統中有git bash [ie:C:\\ Program Files \\ Git \\ bin)],並且有在環境變量中提供的路徑,仍然出現如下錯誤:
java.io.IOException:CreateProcess錯誤= 2,系統找不到指定的文件
原因:java.io.IOException:無法運行程序“ nohup”(在目錄“ C:\\ Users \\ XYZ.jenkins \\ workspace \\ Pipe_Groovy”中):CreateProcess錯誤= 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 。
使用Windows版本2.16.2的Git,我能夠將C:\\Program Files\\Git\\usr\\bin
到PATH(而不是C:\\Program Files\\Git\\bin
)中,因此我的sh命令在兩種FreeStyle中均能正常工作和管道構建。
無需mklink。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.