1

I tried to follow this tutorial.

My plan was

  1. checking out the local git repo
  2. compile and deploy that to my local IIS (under C:/inetpub/wwwroot/)
  3. call that "integration testing".

I created the following deployment plan: enter image description here with MY-PC being my local machine.

However, I am missing something. The Build step does not produce output. In Visual Studio, building does not do it either, i still have to publish it. (Right?)

I am new to buildmaster as well as deploying asp.net applications (I want to do it right the first time...) which leves me wondering what I forgot. The Buildmaster log is as follows:

Source and target directory are the same; splitting...
AgentBasedAction initialization complete:
  Temp Directory: C:\BuildMaster\_SVCTMP\_A4\_S4\TMP
  Source Directory: C:\BuildMaster\_SVCTMP\_A4\_S4\SRC
  Target Directory: C:\BuildMaster\_SVCTMP\_A4\_S4\WRK
  Server: MY-PC (Id: 1)
Initializing action...
Initialization complete. Executing...
Executing Get Latest...
Clearing target directory "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK" before getting latest source...
Getting latest source code from path "C:\Repositories\SecretProject|master:"...
Get latest from source control complete.
Execution complete. Finalizing...
Target directory used. Abandoning source.
Finalization complete.
AgentBasedAction initialization complete:
  Temp Directory: C:\BuildMaster\_SVCTMP\_A4\_S4\TMP
  Source Directory: C:\BuildMaster\_SVCTMP\_A4\_S4\WRK
  Target Directory: C:\inetpub\wwwroot\secret-project
  Server: MY-PC (Id: 1)
Initializing action...
Initialization complete. Executing...
Arguments: "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe" "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\Secret_Project.sln" /t:Rebuild /p:Configuration=Debug;DeployOnBuild=True;BaseIntermediateOutputPath=C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\ 
Working Directory: C:\BuildMaster\_SVCTMP\_A4\_S4\WRK
Executing C:\BuildMaster\_SVCTMP\ExtTemp\WindowsSdk\BmBuildLogger.exe
Starting process: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\Secret_Project.sln" "/t:Rebuild" "/p:Configuration=Debug;DeployOnBuild=True;BaseIntermediateOutputPath=C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\\" "/logger:C:\BuildMaster\_SVCTMP\ExtTemp\WindowsSdk\BmBuildLogger.exe;05636b406dfa4d97a32995e3c69b9d14"
Building Projekt "Secret_Project.sln", Rebuild Ziel(e):
Message: Die Projektmappenkonfiguration "Debug|Any CPU" wird erstellt.
Building Projekt "Secret_Project.csproj", Rebuild Ziel(e):
MakeDir: Das Verzeichnis "C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\Debug\" wird erstellt.
MakeDir: Das Verzeichnis "bin\" wird erstellt.
MSBuild: Das Ziel "GenerateTargetFrameworkMonikerAttribute" wird bersprungen, da alle Ausgabedateien hinsichtlich der Eingabedateien aktuell sind.
Csc: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe /noconfig /nowarn:1701,1702 /nostdlib+ /errorreport:prompt /warn:4 /define:DEBUG;TRACE /highentropyva+ /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.SqlServer.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Microsoft.CSharp.dll" /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\mscorlib.dll" /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.ComponentModel.DataAnnotations.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Configuration.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Core.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Data.DataSetExtensions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Data.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Drawing.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.EnterpriseServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Net.Http.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Net.Http.WebRequest.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Abstractions.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.ApplicationServices.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.DynamicData.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Entity.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Extensions.dll" /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.Helpers.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Mvc.5.1.2\lib\net45\System.Web.Mvc.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Razor.3.1.2\lib\net45\System.Web.Razor.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Routing.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Web.Services.dll" /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Deployment.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.dll /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Razor.dll /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Xml.dll" /reference:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.Xml.Linq.dll" /reference:C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\WebGrease.1.6.0\lib\WebGrease.dll /debug+ /debug:full /optimize- /out:C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\Debug\Secret_Project.dll /subsystemversion:6.00 /target:library /utf8output App_Start\BundleConfig.cs App_Start\FilterConfig.cs App_Start\RouteConfig.cs Controllers\HomeController.cs Global.asax.cs Properties\AssemblyInfo.cs "C:\Windows\TEMP\.NETFramework,Version=v4.5.1.AssemblyAttributes.cs"
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll" in "bin\Antlr3.Runtime.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.dll" in "bin\EntityFramework.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.SqlServer.dll" in "bin\EntityFramework.SqlServer.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll" in "bin\Microsoft.Web.Infrastructure.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.dll" in "bin\Newtonsoft.Json.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.Helpers.dll" in "bin\System.Web.Helpers.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Mvc.5.1.2\lib\net45\System.Web.Mvc.dll" in "bin\System.Web.Mvc.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.dll" in "bin\System.Web.Optimization.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Razor.3.1.2\lib\net45\System.Web.Razor.dll" in "bin\System.Web.Razor.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Deployment.dll" in "bin\System.Web.WebPages.Deployment.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.dll" in "bin\System.Web.WebPages.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Razor.dll" in "bin\System.Web.WebPages.Razor.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\WebGrease.1.6.0\lib\WebGrease.dll" in "bin\WebGrease.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.xml" in "bin\EntityFramework.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\EntityFramework.6.1.0\lib\net45\EntityFramework.SqlServer.xml" in "bin\EntityFramework.SqlServer.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Newtonsoft.Json.6.0.3\lib\net45\Newtonsoft.Json.xml" in "bin\Newtonsoft.Json.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.Helpers.xml" in "bin\System.Web.Helpers.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Mvc.5.1.2\lib\net45\System.Web.Mvc.xml" in "bin\System.Web.Mvc.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\System.Web.Optimization.xml" in "bin\System.Web.Optimization.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Razor.3.1.2\lib\net45\System.Web.Razor.xml" in "bin\System.Web.Razor.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.xml" in "bin\System.Web.WebPages.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Deployment.xml" in "bin\System.Web.WebPages.Deployment.xml" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\System.Web.WebPages.Razor.xml" in "bin\System.Web.WebPages.Razor.xml" kopiert.
Copy: Das Verzeichnis "bin\de" wird erstellt.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\de\System.Web.Helpers.resources.dll" in "bin\de\System.Web.Helpers.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Mvc.5.1.2\lib\net45\de\System.Web.Mvc.resources.dll" in "bin\de\System.Web.Mvc.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Web.Optimization.1.1.3\lib\net40\de\System.Web.Optimization.resources.dll" in "bin\de\System.Web.Optimization.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.Razor.3.1.2\lib\net45\de\System.Web.Razor.resources.dll" in "bin\de\System.Web.Razor.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\de\System.Web.WebPages.resources.dll" in "bin\de\System.Web.WebPages.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\de\System.Web.WebPages.Deployment.resources.dll" in "bin\de\System.Web.WebPages.Deployment.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\packages\Microsoft.AspNet.WebPages.3.1.2\lib\net45\de\System.Web.WebPages.Razor.resources.dll" in "bin\de\System.Web.WebPages.Razor.resources.dll" kopiert.
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\Debug\Secret_Project.dll" in "bin\Secret_Project.dll" kopiert.
Message: Secret_Project -> C:\BuildMaster\_SVCTMP\_A4\_S4\WRK\Secret_Project\bin\Secret_Project.dll
Copy: Die Datei wird von "C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\Debug\Secret_Project.pdb" in "bin\Secret_Project.pdb" kopiert.
Erstellen des Projekts Secret_Project.csproj beendet.
Erstellen des Projekts Secret_Project.sln beendet.
An unhandled exception occurred while executing this action: System.InvalidOperationException: There are no files in the expected output directory: C:\BuildMaster\_SVCTMP\_A4\_S4\TMP\Debug\Package\PackageTmp
   bei Inedo.BuildMaster.Extensibility.Actions.RemoteCommandExecution.RemoteCommandExecuter.ExecuteCommand(RemoteActionBase remoteAction, String commandName, String[] commandArgs)
   bei Inedo.BuildMaster.Extensibility.Agents.Local.LocalAgent.Inedo.BuildMaster.Extensibility.Agents.IRemoteCommandExecuter.ExecuteCommand(RemoteActionBase action, String commandName, String[] commandArgs)
   bei Inedo.BuildMaster.Extensibility.Actions.RemoteActionBase.ExecuteRemoteCommand(String name, String[] args)
   bei Inedo.BuildMaster.Extensibility.Actions.ActionBase.ExecuteInternal(IActionExecutionContext context, ExtensionConfigurerBase extensionConfigurer, Boolean resumeNextOnError, Boolean logErrorsAsWarnings)

With "Erstellen des Projekts Secret_Project.sln beendet." the solution is completely build. Buildmaster appears to assume some files in the TMP directory, but there are only these:

enter image description here

I should add, that building the very first tutorial application failed as well and I cannot create another one because of this error:

An error occurred while saving: 50000161Providers_CreateOrUpdateProvider25`A provider with that name already exists.

DasKrümelmonster
  • 5,816
  • 1
  • 24
  • 45

1 Answers1

1

I don't know the exact reason, but it is working now. A major factor might have been the following: Above, I started with the standard or the empty application. Now, i used the .net application template.

The build action is now "Build MSBuild project" and not "Build ASP.net or MVC project" which I had selected before.

enter image description here

DasKrümelmonster
  • 5,816
  • 1
  • 24
  • 45
  • 1
    The "Build ASP.NET/MVC Project" action handles the build slightly differently - it attempts to do what msdeploy does by having MSBuild stage the files in a temporary output path {BuildConfig}\Package\PackageTMP. If for some reason MSBuild does not put the output files there, you get the error you're seeing. Not knowing the internals of MSBuild, it's hard to say what would cause this behavior in MSBuild, but if the "Build MSBuild Project" action works, it's OK to use that. At some point soon we can add actual msdeploy actions, and then you could switch over to those if you wanted. – John Rasch May 13 '14 at 14:58