Davis8988
Davis8988

Reputation: 127

How to run MsBuild in Jenkins scrippted pipeline correctly?

I am using scrippted pipeline in Jenkins and I want to compile a solution using MsBuild.
Problem is when I run it using bat command: bat ' MsBuild.exe solution.sln /p:Configuration=Debug' (which runs it as a batch file) and when the build FAILS the job doesn't fail.
It's like it doesn't recognize that the MsBuild failed to compile the solution and continues to the next steps.

How can I run MsBuild and analize the output so that if the build fails, then the job will fail too?

Thank you

Upvotes: 1

Views: 6789

Answers (1)

awefsome
awefsome

Reputation: 1561

Try following and see how it goes:

def msbuild =  "path/to/msbuild/MsBuild.exe"
def exitStatus = bat(returnStatus: true, script: "${msbuild} solution.sln /p:Configuration=Debug")
if (exitStatus != 0){
    currentBuild.result = 'FAILURE'
}

And if you don't want to execute it any further, you can throw an error if exit status is not 0:

if (exitStatus != 0){
    currentBuild.result = 'FAILURE'
    error 'build failed'
}

Upvotes: 1

Related Questions