Skip to content

AppDeploy

Robb Schiefer edited this page Feb 14, 2017 · 3 revisions

AppDeployPlus provides packaging of non-web applications. This includes: console apps, Windows Services, Scheduled Tasks, file shares, SSIS packages, etc.

Basic Setup

  1. Add the MSDeployAllTheThings.AppDeploy Nuget package to your console project

  2. Build the project with the /p:DeployOnBuild=true flag and the MSDeploy package will be created in the bin/[configuration]/appDeployment folder.

Parameterization

WebDeploy Parameterization is used to handle configuration transformation during deployment. For more details about WebDeploy Parameterization and a VS extension to preview parameterization results checkout the following webpages -

http://www.dotnetcatch.com/2014/09/08/parameterizationpreview-visual-studio-extension/ https://github.com/rschiefer/ParameterizationPreview

*.app.targets Customizations

You can optional customize several aspects of the deployment if needed:

  • Set the DestinationFilePath MSBuild property to override the folder path on the target server. By default the path will be “d$\Program Files\EBSCO$(AppTypeFolder)$(AppName)”.
  • Set the WaitInterval MSBuild property to override the pre/postSync batch file timeout. The default is 1000 milliseconds.
  • Set the FileOnlyDeployment MSBuild property to disable pre/post batch scripts and the requirement of WebDeploy being installed on the target server.
  • Set the FilesToPackage MSBuild ItemGroup to filter down the files you want deployed from the entire project output.
  • Set the BatchCommandVariables MSBuild property to add custom variables to the pre/postSync batch files. This is commonly used to set environment specific values needed in the batch files.

<BatchCommandVariables>var1=value1;var2=value2</BatchCommandVariables>

NOTE – The pre/postSync batch files have the following variables defined by default:

  • configuration – The build configuration (i.e. DEV1, DEV2, QA1, QA2, MOCK, etc).
  • server – The target server name from the deployment command.
  • appName – The name used for the destination file path. Set to the assembly/project name by default.
  • destinationFilePath – The folder path where the files will be deployed. Set to d$\Program Files\EBSCO$(AppTypeFolder)$(AppName) by default.

Build Agent Requirements

The version of VS will depend on the version you use for your project.

Clone this wiki locally