Skip to content

msbuild not giving any output #518

@Icaroto

Description

@Icaroto

Steps to reproduce the issue

I have a dockerfile that uses sdk:4.7.2-windowsservercore-ltsc2019and basically it's supposed to just build a Visual Studio solution using msbuild. Until a few days ago it was working fine, now msbuild doesn't give any response.

Steps to reproduce

I'm using the below dockerfile:

# escape=`
FROM mcr.microsoft.com/dotnet/framework/sdk:4.7.2-windowsservercore-ltsc2019 AS builder
LABEL maintainer="testing"
CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]

ENV NUGET_PATH="C:\Chocolatey\lib\NuGet.CommandLine.5.4.0\tools" `
    NUNIT_PATH="C:\NUnit.ConsoleRunner.3.8.0\tools" `
    OCTO_PATH="C:\Chocolatey\lib\OctopusTools.6.17.0\tools"

RUN $env:PATH = $env:OCTO_PATH + ';' + $env:NUGET_PATH + ';' + $env:NUNIT_PATH + ';' + $env:PATH; `
	[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine);

RUN Install-PackageProvider -Name chocolatey -RequiredVersion 2.8.5.130 -Force; `
    Install-Package nuget.commandline -RequiredVersion 5.4.0 -Force; `    
    & nuget install NUnit.ConsoleRunner -Version 3.8.0; `
    Install-Package googlechrome -Force; `
    Install-Package octopustools -RequiredVersion 6.17.0 -Force

WORKDIR c:\build
COPY . .
RUN msbuild -v
ENTRYPOINT ["powershell"]

And I am triggering it from Jenkins using the following (considering both are in a repo):

def generateImageName() {
  jobName = env.JOB_NAME.toLowerCase().replaceAll(/[\s-]|\/|%2f/, '.')
  return "${jobName}_${env.BUILD_NUMBER}"
}

def imageName = generateImageName()
def image

pipeline {
  agent {
    label 'IE1SFBLD02'
  }

  stages {
    stage('Setup Docker image') {
      steps {    
	  library 'shared-library'
        script {
          image = docker.build(imageName)
        }
      }
    }
   
    stage('Clean Workspace') {
      steps {
        cleanWs()
      }
    }
  }
}

Expected behavior

See the version of msbuild.

Actual behavior

Sending build context to Docker daemon  5.863MB

Step 1/11 : FROM mcr.microsoft.com/dotnet/framework/sdk:4.7.2-windowsservercore-ltsc2019 AS builder
 ---> 1afb4e8593d8
Step 2/11 : LABEL maintainer="testing"
 ---> Using cache
 ---> 50a9522af4f3
Step 3/11 : CMD ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]
 ---> Using cache
 ---> 739e71cd8f37
Step 4/11 : SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
 ---> Using cache
 ---> 7817918aed13
Step 5/11 : ENV NUGET_PATH="C:\Chocolatey\lib\NuGet.CommandLine.5.4.0\tools"     NUNIT_PATH="C:\NUnit.ConsoleRunner.3.8.0\tools"     OCTO_PATH="C:\Chocolatey\lib\OctopusTools.6.17.0\tools"
 ---> Using cache
 ---> 1a2c45e99c46
Step 6/11 : RUN $env:PATH = $env:OCTO_PATH + ';' + $env:NUGET_PATH + ';' + $env:NUNIT_PATH + ';' + $env:PATH; 	[Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine);
 ---> Using cache
 ---> c48de751f82c
Step 7/11 : RUN Install-PackageProvider -Name chocolatey -RequiredVersion 2.8.5.130 -Force;     Install-Package nuget.commandline -RequiredVersion 5.4.0 -Force;     & nuget install NUnit.ConsoleRunner -Version 3.8.0;     Install-Package googlechrome -Force;     Install-Package octopustools -RequiredVersion 6.17.0 -Force
 ---> Using cache
 ---> f9d3ba7532dc
Step 8/11 : WORKDIR c:\build
 ---> Using cache
 ---> aca4d0473026
Step 9/11 : COPY . .
 ---> 8df4748dc4e3
Step 10/11 : RUN msbuild -v
 ---> Running in 90f136016d68
The command 'powershell -Command $ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue'; msbuild -v' returned a non-zero code: 1
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Clean Workspace)
Stage "Clean Workspace" skipped due to earlier failure(s)
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE

When I enter the container and try to execute msbuild from withing I get no output, no error, no message, just a new line. Eg:

PS C:\build> msbuild
PS C:\build>

Output of docker version

Docker version 19.03.5, build 633a0ea

Output of docker info

Client:
 Debug Mode: false

Server:
 Containers: 32
  Running: 0
  Paused: 0
  Stopped: 32
 Images: 67
 Server Version: 19.03.5
 Storage Driver: windowsfilter
  Windows: 
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics internal l2bridge l2tunnel nat null overlay private transparent
  Log: awslogs etwlogs fluentd gcplogs gelf json-file local logentries splunk syslog
 Swarm: inactive
 Default Isolation: process
 Kernel Version: 10.0 17763 (17763.1.amd64fre.rs5_release.180914-1434)
 Operating System: Windows Server 2019 Datacenter Version 1809 (OS Build 17763.1039)
 OSType: windows
 Architecture: x86_64
 CPUs: 2
 Total Memory: 7GiB
 Name: IE1SFBLD02
 ID: ABVO:XGYI:4VOU:SCX7:X3RH:YSP4:65BD:Z7IS:JOWV:UXUF:LF7Q:DO5P
 Docker Root Dir: C:\ProgramData\Docker
 Debug Mode: true
  File Descriptors: -1
  Goroutines: 28
  System Time: 2020-02-18T16:46:18.0233313Z
  EventsListeners: 1
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Product License: Community Engine

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions