Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.4-incubating
-
Visual Studio 2010 + Windows Azure Tools + MVN 2/3
Description
We want to build and package Azure Projects using NPanday. What that exactly means still has to be figured out here.
High-level requirements
- NPanday Addin must support Azure project types (*.ccproj + ServiceConfiguration)
- NPanday must support Azure Packaging Type (-> *.cspkg) including an appropriate lifecycle until package-phase (publish is excluded!)
- NPanday should resolve all roles though Maven dependency mechanism.
- Web Roles should be resolved as (msdeploy-package) ( requires
NPANDAY-488) - Worker roles should be resolved as (dotnet-library)
- Silverlight?
- Web Roles should be resolved as (msdeploy-package) ( requires
- The addin must be able to import Azure Cloud Service Projects *.ccproj -> generate pom.xml
- The addin must be able to track changes on Azure Projects (Add/Remove Roles)
- The addin must be able to import .NET 4.0/C#/VB Azure WCF Service Web Role Projects
- The addin must be able to import .NET 4.0/C#/VB Azure Worker Role Projects
- The addin must be able to import .NET 4.0/C#/VB Azure Web Role Silverlight Business Application Projects
Optional
- The addin should be able to import .NET 4.0/C#/VB Azure ASP.NET MVC 2 Web Role Projects
- The addin should be able to import .NET 4.0/C#/VB Azure ASP.NET MVC 3 Web Role Projects
Limitations
- Support for .NET 3.5 is not planned, but could be added later if needed
- Support Azure SDKs < 1.6 is not planned, but could be added later if needed
- Support of new Azure Tools will most certainly require new NPanday release; additional configuration can also be provided locally, though (->
NPANDAY-499)
Flow
To test how this could work out, I used the custom lifecycle plugin plus registration of
{azure-cloud-service}as package type for *.cspkg. Then, as soon as we know how this should exactly work, we can start creating the needed plugins.
prepare-package
- {dependency:copy-dependencies}
resolve web roles as msdeploy.zip)
- {exec:exec: msdeploy -verb:sync -source:package=<resolved web role pkg> -dest:dirPath:<tmpdir>}
package
- {exec:exec: cspack ServiceDefinition.csdef /out:<final-name> /role:<webrole> /sites:<unpacked msdeploy package>}
Just some notes
- It seems like MSBuild CCPack task handles the packaging:
(on my machine: {{ {C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.6}}}
- It looks like Azure Packaging also packages the WebRoles by obtaining the files to be packaged from the MSBUILD PROJECT FILES!!!
Attachments
Issue Links
- depends upon
-
NPANDAY-488 Packaging for Web Applications (also Azure Web Roles)
- Resolved