如何使用Jenkins声明式管道将构建变量作为属性传递给MSBuild?

时间:2019-04-04 17:03:09

标签: jenkins msbuild jenkins-pipeline pipeline

我正在将Jenkins Freestyle作业转换为声明式管道,并且遇到了问题。我已经达到了“使用MSBuild构建Visual Studio项目或解决方案”这一旧工作定义的一部分,并且已经在管道文件中复制了该命令。它按预期方式调用MSBuild,但是原始作业在“将构建变量作为属性传递”旁边有一个复选框。我似乎找不到有关如何在Jenkinsfile中复制此文件的任何文档,我怀疑这可能至少部分是构建失败的原因。

根据我在stackoverflow上发现的上一个问题,这是我的msbuild步骤。

script {
  def msbuild = tool name: 'default', type: 'hudson.plugins.msbuild.MsBuildInstallation'
  bat "${msbuild} code/SolutionFile.sln /p:Configuration=\"MyApp - Release\" /p:Platform=TargetPlatform /m /t:Rebuild"
}

1 个答案:

答案 0 :(得分:0)

如果在您的代码中:

script {
   def slnpath = "repo\\solution.sln"
   def congifA = "Debug"
   bat "MSBuild ${slnpath} /p:Configuration=${congifA}"
} 

如果是从另一份工作传来的

parameters {
        text(name: 'congifA', defaultValue: "Debug", description: 'Debug or Release')
    }