我试图弄清楚为什么Jenkins管道Windows Batch步骤中没有一个字符。
这里是“管道步骤”视图,该视图显示命令以FOR /D
开头(忽略错误级别检查,我发现它已损坏为时已晚):
这里是控制台,具有相同的命令,但没有D
:
说实话,我对此感到有些困惑,这与通常的转义问题不符(/
不是转义字符)。那么,有什么用呢?有人有任何线索吗?我应该给乔治·佩雷克打电话吗?
出现相同问题(消失的D
)但似乎可以正常工作的最小管道是:
pipeline {
agent any
stages {
stage('Hello') {
steps {
deleteDir()
bat 'md dst'
bat 'md src'
bat 'md src\\test-doc-1'
bat 'md src\\test-doc-2'
bat 'md src\\test-3'
bat 'echo "hello" > src\\test-doc-1\\file1.txt'
bat 'echo "world" > src\\test-doc-2\\file2.txt'
bat '''
for /d %%a in (src\\*-doc*) do (
robocopy /r:0 /w:0 /e %%a dst\\%%~nxa
)
IF %%ERRORLEVEL%% LEQ 8 exit 0
'''
}
}
}
}
(如果有帮助,请运行Jenkins 2.190.3。)