incubator-npanday-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Corneliussen (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (NPANDAY-488) MSDeploy Packaging for Web Applications (also Azure Web Roles)
Date Fri, 25 Nov 2011 14:03:40 GMT

     [ https://issues.apache.org/jira/browse/NPANDAY-488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Lars Corneliussen updated NPANDAY-488:
--------------------------------------

    Description: 
MSDeploy is an extensible tool for creating deployment packages, which then can be deployed
to IIS (or Windows Services, e.g.)

This is also a prerequisite for Azure Web Roles.

h2. High-level Requirements
- Must support Package creation
- Must support full MSDeploy feature set (through -source:manifest?)
- Must choose reasonable defaults for file inclusion
- Must be configurable from the VS Add-in
- Should support XDT transformations
- Should support filtering (Maven-Properties)
- Should support Parametrization (through -declareParamFile)
- Should make it hard to let default connection strings and passwords "leak" into the package

h2. Implementation Details
- (?) instead of reinventing the wheel, we could utilize maven-assembly-plugin:single with
package-type "dir"
-- {color:red}or:{color} Syntax should be similar to maven-assembly-plugin; maybe code reuse
is possible?
-- Externalized descriptors for file-inclusions should be possible (NPanday then provides
reasonable defaults)
- Package type is named {{msdeploy-package}} with extension {{msdeploy.zip}} (must end with
.zip)
- XDT should be delegated to MSBuild (partially depends on NPANDAY-486)


h2. Flow

To test how this could work out, I used default Maven/NPanday tools + registration of {{msdeploy-package}}
as {{msdeploy.zip}}. Then, as soon as we know how this should exactly work, we can start creating
the needed plugins.

*prepare-package*

 - (/) {{assembly:single}} -> {{target/prepare-package/01-source-raw}}
 -- includes {{dotnet-library}} dependencies in {{bin}}
 -- includes *.as?x + config + css + js + graphics
 - (/) {{exec:exec: msbuild copy-transformed.xml}} -> XDT-Transforms using *.package.config
-> {{target/prepare-package/03-transformed}}
 - (?) (Optional) {{exec:exec -> msdeploy}} - apply parameter configuration
 -- This would avoid leaking developer default values into the package
 - (/) {{exec:exec: msdeploy -verb:sync -source:dirPath=target/prepare-package/03-transformed
-dest:package=target/$\{artifactId\}.msdeploy.zip}}
 - (/) {{build-helper:attach}} artifact {{target/${artifactId}.msdeploy.zip}} as {{msdeploy-package}}

Build runs locally:

{code}
[INFO] Installing target\HelloWorld_WebRole.dll to .m2\...\HelloWorld_WebRole\1.0.0-SNAPSHOT\HelloWorld_WebRole-1.0.0-SNAPSHOT.dll
[INFO] Installing target\HelloWorld_WebRole.msdeploy.zip to .m2\...\HelloWorld_WebRole\1.0.0-SNAPSHOT\HelloWorld_WebRole-1.0.0-SNAPSHOT.msdeploy.zip
{code}

  was:
MSDeploy is an extensible tool for creating deployment packages, which then can be deployed
to IIS (or Windows Services, e.g.)

This is also a prerequisite for Azure Web Roles.

h2. High-level Requirements
- Must support Package creation
- Must support full MSDeploy feature set (through -source:manifest?)
- Must choose reasonable defaults for file inclusion
- Must be configurable from the VS Add-in
- Should support XDT transformations
- Should support filtering (Maven-Properties)
- Should support Parametrization (through -declareParamFile)
- Should make it hard to let default connection strings and passwords "leak" into the package

h2. Implementation Details
- (?) instead of reinventing the wheel, we could utilize maven-assembly-plugin:single with
package-type "dir"
-- {color:red}or:{color} Syntax should be similar to maven-assembly-plugin; maybe code reuse
is possible?
-- Externalized descriptors for file-inclusions should be possible (NPanday then provides
reasonable defaults)
- Package type is named {{msdeploy-package}} with extension {{msdeploy.zip}} (must end with
.zip)
- XDT should be delegated to MSBuild (partially depends on NPANDAY-486)


h2. Flow

To test how this could work out, I used default Maven/NPanday tools + registration of {{msdeploy-package}}
as {{msdeploy.zip}}. Then, as soon as we know how this should exactly work, we can start creating
the needed plugins.

*prepare-package*

 - (/) {{assembly:single}} -> {{target/prepare-package/01-source-raw}}
 -- includes {{dotnet-library}} dependencies in {{bin}}
 -- includes *.as?x + config + css + js + graphics
 - (/) {{exec:exec: msbuild copy-transformed.xml}} -> XDT-Transforms using *.package.config
-> {{target/prepare-package/03-transformed}}
 - (?) (Optional) {{exec:exec -> msdeploy}} - apply parameter configuration
 -- This would avoid leaking developer default values into the package
 - (/) {{exec:exec: msdeploy -verb:sync -source:dirPath=target/prepare-package/03-transformed
-dest:package=target/${artifactId}.msdeploy.zip}}
 - (/) {{build-helper:attach}} artifact {{target/${artifactId}.msdeploy.zip}} as {{msdeploy-package}}

Build runs locally:

{code}
[INFO] Installing target\HelloWorld_WebRole.dll to .m2\...\HelloWorld_WebRole\1.0.0-SNAPSHOT\HelloWorld_WebRole-1.0.0-SNAPSHOT.dll
[INFO] Installing target\HelloWorld_WebRole.msdeploy.zip to .m2\...\HelloWorld_WebRole\1.0.0-SNAPSHOT\HelloWorld_WebRole-1.0.0-SNAPSHOT.msdeploy.zip
{code}

    
> MSDeploy Packaging for Web Applications (also Azure Web Roles)
> --------------------------------------------------------------
>
>                 Key: NPANDAY-488
>                 URL: https://issues.apache.org/jira/browse/NPANDAY-488
>             Project: NPanday
>          Issue Type: New Feature
>          Components: Maven Plugins, Visual Studio Add-in
>    Affects Versions: 1.4-incubating
>            Reporter: Lars Corneliussen
>            Assignee: Lars Corneliussen
>
> MSDeploy is an extensible tool for creating deployment packages, which then can be deployed
to IIS (or Windows Services, e.g.)
> This is also a prerequisite for Azure Web Roles.
> h2. High-level Requirements
> - Must support Package creation
> - Must support full MSDeploy feature set (through -source:manifest?)
> - Must choose reasonable defaults for file inclusion
> - Must be configurable from the VS Add-in
> - Should support XDT transformations
> - Should support filtering (Maven-Properties)
> - Should support Parametrization (through -declareParamFile)
> - Should make it hard to let default connection strings and passwords "leak" into the
package
> h2. Implementation Details
> - (?) instead of reinventing the wheel, we could utilize maven-assembly-plugin:single
with package-type "dir"
> -- {color:red}or:{color} Syntax should be similar to maven-assembly-plugin; maybe code
reuse is possible?
> -- Externalized descriptors for file-inclusions should be possible (NPanday then provides
reasonable defaults)
> - Package type is named {{msdeploy-package}} with extension {{msdeploy.zip}} (must end
with .zip)
> - XDT should be delegated to MSBuild (partially depends on NPANDAY-486)
> h2. Flow
> To test how this could work out, I used default Maven/NPanday tools + registration of
{{msdeploy-package}} as {{msdeploy.zip}}. Then, as soon as we know how this should exactly
work, we can start creating the needed plugins.
> *prepare-package*
>  - (/) {{assembly:single}} -> {{target/prepare-package/01-source-raw}}
>  -- includes {{dotnet-library}} dependencies in {{bin}}
>  -- includes *.as?x + config + css + js + graphics
>  - (/) {{exec:exec: msbuild copy-transformed.xml}} -> XDT-Transforms using *.package.config
-> {{target/prepare-package/03-transformed}}
>  - (?) (Optional) {{exec:exec -> msdeploy}} - apply parameter configuration
>  -- This would avoid leaking developer default values into the package
>  - (/) {{exec:exec: msdeploy -verb:sync -source:dirPath=target/prepare-package/03-transformed
-dest:package=target/$\{artifactId\}.msdeploy.zip}}
>  - (/) {{build-helper:attach}} artifact {{target/${artifactId}.msdeploy.zip}} as {{msdeploy-package}}
> Build runs locally:
> {code}
> [INFO] Installing target\HelloWorld_WebRole.dll to .m2\...\HelloWorld_WebRole\1.0.0-SNAPSHOT\HelloWorld_WebRole-1.0.0-SNAPSHOT.dll
> [INFO] Installing target\HelloWorld_WebRole.msdeploy.zip to .m2\...\HelloWorld_WebRole\1.0.0-SNAPSHOT\HelloWorld_WebRole-1.0.0-SNAPSHOT.msdeploy.zip
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message