从 Jenkins 声明式管道编译 Visual Studio 2015 年解决方案
Compiling Visual Studio 2015 solutions from Jenkins declarative pipeline
我有一个简单的声明管道如下:
pipeline {
/* continuous build pipeline for jenkins */
agent any
environment {
path_visualstudio = 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe'
path_solutionfile = 'c:\foo\bar.sln'
}
stages {
stage ('solution') {
steps {
echo 'building solution'
bat '${env.path_visualstudio} ${env.path_solutionfile} /rebuild'
}
}
}
}
由于控制台输出中出现以下错误,我无法成功启动 devenv.exe:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: unexpected char: '\' @ line 5, column 26.
path_visualstudio = 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe'
^
1 error
这是对斜杠的不正确转义问题,还是我总是应该在 Jenkins 中使用正斜杠而不考虑平台?
实际上,您的问题已经有了答案:用另一个斜线转义斜线。使用反斜杠也应该有效(未测试!)
我有一个简单的声明管道如下:
pipeline {
/* continuous build pipeline for jenkins */
agent any
environment {
path_visualstudio = 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe'
path_solutionfile = 'c:\foo\bar.sln'
}
stages {
stage ('solution') {
steps {
echo 'building solution'
bat '${env.path_visualstudio} ${env.path_solutionfile} /rebuild'
}
}
}
}
由于控制台输出中出现以下错误,我无法成功启动 devenv.exe:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 5: unexpected char: '\' @ line 5, column 26.
path_visualstudio = 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe'
^
1 error
这是对斜杠的不正确转义问题,还是我总是应该在 Jenkins 中使用正斜杠而不考虑平台?
实际上,您的问题已经有了答案:用另一个斜线转义斜线。使用反斜杠也应该有效(未测试!)