从 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 中使用正斜杠而不考虑平台?

实际上,您的问题已经有了答案:用另一个斜线转义斜线。使用反斜杠也应该有效(未测试!)