Building Orchard CMS to Windows Azure Websites via TFS in the Cloud

Topics: General
Editor
Mar 2, 2013 at 12:15 AM
I was wondering if anyone has built Orchard CMS in a TFS continuous integration environment, and then had it automatically deployed to Windows Azure Websites.

Right now the build is failing because it can't find the lib folder dlls like ClaySharp, etc. Locally it builds fine. Does anyone have a build definition template they have gotten to use for TFS?
Developer
Mar 2, 2013 at 9:35 AM
Did you make sure that you included the DLL files? By default, the global ignore list ignores .dll files. So the Lib folder may have been included, the .dll files are excluded by default.
Editor
Mar 2, 2013 at 12:41 PM
You are correct. My TFS has only partially checked in the lib directory for some reason. After getting past this I am now on this issue :

http://orchard.codeplex.com/workitem/19264

I applied the changeset from 1.x branch but this is still not helping. The error did change from

Could not open Source file: Could not find a part of the path 'C:\a\src\xxx\yyyy\src\Orchard.Web\Media\web.config;Media\web.config'.

to

Could not open Source file: Could not find a part of the path 'C:\a\src\xxx\yyyy\src\Orchard.Web\Core\web.config;Core\web.config'.

I then tried exlcuding that web.config but that did not work.
Editor
Mar 3, 2013 at 2:16 PM
A web deploy from Visual Studio works fine after applying the Media/web.config fix. Oddly, this second issue only happens during publishing to Windows Azure Websites via TFS. The build fails in TFS in the cloud with this error :

Transforming Source File: C:\a\src\xxxx\yyyy\src\Orchard.Web\Core\Contents\Styles\Web.config;Core\Contents\Styles\Web.config (TaskId:929)
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(2352,5): error : Could not open Source file: Could not find a part of the path 'C:\a\src\xxx\yyyy\src\Orchard.Web\Core\Contents\Styles\Web.config;Core\Contents\Styles\Web.config'. [C:\a\src\xxxxxxyyyyy\src\Orchard.Web\Orchard.Web.csproj]
Transformation failed (TaskId:929)
Done executing task "ParameterizeTransformXml" -- FAILED. (TaskId:929)
Done building target "AutoParameterizationWebConfigConnectionStringsCore" in project "Orchard.Web.csproj" -- FAILED.: (TargetId:372)
Editor
Mar 3, 2013 at 3:22 PM
Adding these properties to my Orchard.Web.csproj resulted in a successful build in TFS. But the deploy process ended up just deploying the last module built to the Windows Azure Website instance.

<TransformWebConfigEnabled>False</TransformWebConfigEnabled>
<ProfileTransformWebConfigEnabled>False</ProfileTransformWebConfigEnabled>
<AutoParameterizationWebConfigConnectionStrings>False</AutoParameterizationWebConfigConnectionStrings>

The build definition settings for TFS in the Cloud require you to select a solution file to be built. I chose Orchard.sln but this does not result in the proper code being deployed to the Windows Azure Websites instance. I am trying to locate a way to select the Orchard.Web project to be the one that is deployed via the solution file or a setting in the build definition now. If anyone knows how to do this, let me know.