Jenkins:找不到名为MSBuild的工具

Jenkins(Jenkins

2.6)中设置管道构建,复制基于git的构建的示例脚本将得到:“找不到名为MSBuild的工具”。我在中设置了MSBuild工具Manage

Jenkins -> Global Tool Configuration。我正在从属节点上运行管道。

在从配置中,我在中设置了MSBuild工具路径Node Properties -> Tool Locations

在构建过程中,它无法获取MSBuild工具路径,如果我在不使用管道的情况下运行相同的源代码(不使用Jenkinsfile),则可以正常工作。

请参阅Jenkinsfile语法

pipeline {

agent { label 'win-slave-node' }

stages {

stage('build') {

steps {

bat "\"${tool 'MSBuild'}\" SimpleWindowsProject.sln /t:Rebuild /p:Configuration=Release"

}

}

}

}

我也曾尝试为未刷新的Windows slave更改环境变量。

回答:

在声明性管道语法中,MSBuild的工具较笨拙。这是我必须使用script块处理的方式:

pipeline {

agent {

label 'win-slave-node'

}

stages {

stage('Build') {

steps {

script {

def msbuild = tool name: 'MSBuild', type: 'hudson.plugins.msbuild.MsBuildInstallation'

bat "${msbuild} SimpleWindowsProject.sln"

}

}

}

}

}

在较旧的脚本管道语法中,可能是这样的:

node('win-slave-node') {

def msbuild = tool name: 'MSBuild', type: 'hudson.plugins.msbuild.MsBuildInstallation'

stage('Checkout') {

checkout scm

}

stage('Build') {

bat "${msbuild} SimpleWindowsProject.sln"

}

}

以上是 Jenkins:找不到名为MSBuild的工具 的全部内容, 来源链接: utcz.com/qa/407151.html

回到顶部