\n <\/td>\n | #<\/span> Load unzip support<\/span><\/td>\n <\/tr>\n \n <\/td>\n | [Reflection.Assembly<\/span>]::LoadWithPartialName("<\/span>System.IO.Compression.FileSystem"<\/span><\/span>) |<\/span> Out-Null<\/span><\/td>\n <\/tr>\n \n <\/td>\n | \n<\/td>\n <\/tr>\n | \n <\/td>\n | function<\/span> Unzip<\/span>(\$zipFile<\/span>,<\/span> \$destination<\/span>)<\/td>\n <\/tr>\n \n <\/td>\n | {<\/td>\n <\/tr>\n | \n <\/td>\n | If<\/span> (Test-Path<\/span> \$destination<\/span>){<\/td>\n <\/tr>\n \n <\/td>\n | Remove-Item<\/span> \$destination<\/span> -<\/span>Recurse |<\/span> Out-Null<\/span><\/td>\n <\/tr>\n \n <\/td>\n | }<\/td>\n <\/tr>\n | \n <\/td>\n | New-Item<\/span> -<\/span>ItemType directory -<\/span>Force -<\/span>Path \$destination<\/span> |<\/span> Out-Null<\/span><\/td>\n <\/tr>\n \n <\/td>\n | [System.IO.Compression.ZipFile<\/span>]::ExtractToDirectory(\$zipFile<\/span>,<\/span> \$destination<\/span>) |<\/span> Out-Null<\/span><\/td>\n <\/tr>\n \n <\/td>\n | }<\/td>\n <\/tr>\n | \n <\/td>\n | \n<\/td>\n <\/tr>\n | \n <\/td>\n | #<\/span> Unzip deployment package<\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$CsPkg<\/span> =<\/span> "<\/span>Customer.Project.Api.Azure.cspkg"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | Unzip \$CsPkg<\/span> "<\/span>azurePackage"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | Unzip (Get-Item<\/span> (join-path<\/span> -<\/span>path "<\/span>azurePackage"<\/span><\/span> -<\/span>childPath "<\/span>*.cssx"<\/span><\/span>)) "<\/span>website"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | \n<\/td>\n <\/tr>\n | \n <\/td>\n | #<\/span> Perform replacements, eg: replace Web.Config<\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$ConfigFileToUse<\/span> =<\/span> "<\/span>Web."<\/span><\/span> +<\/span> \$OctopusParameters<\/span>["<\/span>Octopus.Environment.Name"<\/span><\/span>] +<\/span> "<\/span>.config"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | Copy-Item<\/span> -<\/span>Path \$ConfigFileToUse<\/span> -<\/span>Destination "<\/span>website/sitesroot/0/Web.Config"<\/span><\/span> -<\/span>Force<\/td>\n <\/tr>\n \n <\/td>\n | \n<\/td>\n <\/tr>\n | \n <\/td>\n | #<\/span> Repackage<\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$role<\/span> =<\/span> "<\/span>Customer.Project.Api"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$contentPath<\/span> =<\/span> "<\/span>website\\approot"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$rolePath<\/span> =<\/span> "<\/span>website/approot"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$webPath<\/span> =<\/span> "<\/span>website/sitesroot/0"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | \$cspackPath<\/span> =<\/span> "<\/span>C:\\Program Files\\Microsoft SDKs\\Windows Azure\\.NET SDK\\v2.2\\bin\\cspack.exe"<\/span><\/span><\/td>\n <\/tr>\n \n <\/td>\n | &<\/span> \$cspackPath<\/span> "<\/span>ServiceDefinition.csdef"<\/span><\/span> "<\/span>/out:\$CsPkg<\/span>"<\/span><\/span> "<\/span>/role:\$role<\/span>;\$rolePath<\/span>;Customer.Project.Api.dll"<\/span><\/span> "<\/span>/sites:\$role<\/span>;Web;\$webPath<\/span>"<\/span><\/span> "<\/span>/sitePhysicalDirectories:\$role<\/span>;Web;\$webPath<\/span>"<\/span><\/span> <\/td>\n <\/tr>\n <\/table>\n<\/div>\n\n\n <\/div>\n\n <\/div>\n<\/div>\n\n <\/div>\n | | | | | | | | | | | | | | | | | | | | |