Plug-in Documentation

Microsoft IIS MS-Deploy (Azure App Service)

Overview

The Web Deploy tool (msdeploy) simplifies the migration, management and deployment of IIS web servers, web applications, websites, and Azure App Service websites.

The Microsoft IIS MS-Deploy plug-in automates synchronizing and deleting servers, sites, applications, packages, and starting, stopping and recycling application pools by using the msdeploy tool.

To add the Microsoft IIS MS-Deploy plug-in steps to processes, click Application Server > IIS > IIS MSDeploy in the step palette of the process editor.

Installation

No special steps are required for installation. See Installing plug-ins in UrbanCode Deploy.

History

Version 3

Version 3 includes a fix for an issue related to white space in path names.

Usage

Integrating with Azure App Service

To use the plug-in with an Azure App Service website, complete the following steps to download the publish profile for the website:

  1. Log in to the Microsoft Azure Portal.
  2. In the left hand navigation pane, select App Services, and then select your web app from the list. The overview of your website is displayed. The navigation at the top of the page includes Settings, Tools, and the Get Publish Profile push button.
  3. Click Get Publish Profile to download your Web Apps publish profile, which contains the information required to use your Web App as a target for the msdeploy command.

The following example describes deploying a website from the local file system to an Azure Web App:

  1. Download the publish profile of the Azure Web App as described previously.
  2. Add the msdeploy step from the Microsoft IIS MS-Deploy plug-in to your deployment process in IBM UrbanCode Deploy.
    1. In the Verb field, enter sync.
    2. In the Source Provider Type field, enter IisApp.
    3. In the Provider Source field, enter the path to the website on your local computer. For example, enter C:\www\ContosBooks.
    4. In the Destination Provider Type field, enter IisApp.
    5. In the Provider Destination field, enter text similar to the following text, which is based on the <publishData><publishProfile> element with the publishMethod=MSDeploy attribute in the downloaded publish profile:
      'OGContosBooks',ComputerName='https://ogcontosbooks.scm.azurewebsites.net/msdeploy.axd',UserName='$OGContosBooks',Password='************************************************************',IncludeAcls='False',AuthType='Basic'
      • First, in single quotes, specify the msdeploySite value.
      • Set the ComputerName attribute to the publishUrl/msdeploy.axd value. Include the schema, either http:// or https://, and remove the port number from the publishUrl value.
      • Set the UserName attribute to the userName value.
      • Set the Password attribute to the userPWD value.
      • Specify Basic for the AuthType attribute.
      • Set the IncludeAcls attribute to false if you do not want to preserve ACLS permissions.
    6. In the Options String field, enter the following text:
      • -enableRule:DoNotDeleteRule (This preserves files on the Azure Web App and only replaces existing files. If not set, all files in the Azure Web App are deleted before the local files are uploaded.)
      • -allowUntrusted (This allows an untrusted server certificate when using SSL.)
    7. In the Command Path field, enter the full path to the directory where the msdeploy executable is stored. For example, enter C:\Program Files\IIS\Microsoft Web Deploy V3\.
  3. Click OK to save the step properties, and then save the process.
  4. Run the configured step as part of a deployment process. The local website is deployed to your Azure Web App.

Steps

Process steps in the Microsoft IIS MS-Deploy plug-in

Delete

Delete an IIS object.

Input properties for the Delete step
Name Type Description Required
Command Path String The directory location of the msdeploy.exe command-line executable: e.g., C:\Program
Files\IIS\Microsoft Web Deploy V2\
No
Options String String A newline separated list of options to be concatenated onto the delete command. i.e.
-setParam:hello,value=hey\n-setParam:goodbye,value=seeya.
No
Provider Destination String The Provider path and setting for the destination in the form path,setting1,setting2 Yes
Provider Type Enumeration:

  • iisApp
  • archiveDir
  • contentPath
  • dirPath
  • filePath
  • manifest
  • package
  • appHostConfig
The provider type for the destination argument of the delete. Yes

Recycle Application

Recycle an application in IIS.

Input properties for the Recycle Application step
Name Type Description Required
Command Path String The directory location of the msdeploy.exe command-line executable: e.g., C:\Program
Files\IIS\Microsoft Web Deploy V2\
No
Target Name String The name of the Web Site or Application, i.e. WebSite/MyApp Yes

Start Application

Start an application in IIS.

Input properties for the Start Application step
Name Type Description Required
Command Path String The directory location of the msdeploy.exe command-line executable: e.g., C:\Program
Files\IIS\Microsoft Web Deploy V2\
No
Target Name String The name of the Web Site or Application, i.e. WebSite/MyApp Yes

Stop Application

Stop an application in IIS.

Input properties for the Stop Application step
Name Type Description Required
Command Path String The directory location of the msdeploy.exe command-line executable: e.g., C:\Program
Files\IIS\Microsoft Web Deploy V2\
No
Target Name String The name of the Web Site or Application, i.e. WebSite/MyApp Yes

Synchronize

Synchronize two IIS objects.

Input properties for the Synchronize step
Name Type Description Required
Command Path String The directory location of the msdeploy.exe command-line executable: e.g., C:\Program
Files\IIS\Microsoft Web Deploy V2\
No
Destination Provider Type Enumeration:

  • auto
  • iisApp
  • archiveDir
  • contentPath
  • dirPath
  • filePath
  • manifest
  • metaKey
  • package
  • webServer
  • webServer60
  • appHostConfig
The provider type for the destination argument of the synchronize. Yes
Options String String A newline separated list of options to be concatenated onto the synchronize command.
i.e. -setParam:hello,value=hey\n-setParam:goodbye,value=seeya.
No
Provider Destination String The Provider path and setting for the destination in the form path,setting1,setting2 No
Provider Source String The Provider path and setting for the source in the form path,setting1,setting2 Yes
Source Provider Type Enumeration:

  • iisApp
  • archiveDir
  • contentPath
  • dirPath
  • filePath
  • manifest
  • metaKey
  • package
  • webServer
  • webServer60
  • appHostConfig
The provider type for the source argument of the synchronize. Yes

msdeploy

Run an msdeploy command

Input properties for the msdeploy step
Name Type Description Required
Command Path String The directory location of the msdeploy.exe command-line executable: e.g., C:\Program
Files\IIS\Microsoft Web Deploy V2\
No
Destination Provider Type String The provider type for the destination argument of the command. No
Options String String A newline separated list of options to be concatenated onto the command. i.e. -setParam:hello,value=hey\n-setParam:goodbye,value=seeya. No
Provider Destination String The Provider path and setting for the destination in the form path,setting1,setting2 No
Provider Source String The Provider path and setting for the source in the form path,setting1,setting2 No
Source Provider Type String The provider type for the source argument of the command. Required if providing Provider
Source.
No
Verb String The verb (operation) to be performed by msdeploy Yes