Octopus Deploy - Part IV - Project Features

For our fourth post about Octopus Deploy, we'll discuss the Octopus Project Features configuration.

1. Visual Studio setup
2. Team Foundation Server setup
3. Octopus Dashboard setup
4. Project Features
5. Extras

Navigate to the Project page on the Octopus Dashboard by clicking on the Projects > Project Name link in the top menu.


Variables

In the left menu, click on Variables.These are custom Octopus-stored variables that can be used for two main purposes:
  • Octopus configuration variables that can be used across projects e.g. define a custom installation folder. You'd have one for each environment or if it's the same simply add all the desired environments in the last Scope column.


  • Web.config connection strings and appSettings. If the differences between your web.configs are strictly limited to these two categories then you don't need to rely on multiple web.configs anymore and use Octopus exclusively.


Step Types

Click on Process in the left menu then click on Add step. Notice that there are several built-in templates (your System Administrator can download/add custom ones). Other than the Deploy a NuGet Package a very powerful and useful step type is the Run a Powershell script which you can use to do almost anything via Powershell e.g. set write permission on a specific folder, the possibilities are endless.



Send an email adds notification capabilities which you could set when a release goes live, Manual Intervention required opens up another set of possibilities such as an approval workflow e.g. a database administrator needs to run scripts before a release goes out.

Close the popup to go back to the Process view.


Process Configuration Features

A Process Step consists of one or more features that will run during step execution. Edit your Deploy step, scroll down and click on Configure features. A list of features is displayed including the following:

  • Custom installation directory 
    • Specify your custom installation folder with an optional custom Octopus variable
  • Custom PowerShell scripts 
    • in addition to the PowerShell Step Type, you can also add a PowerShell script from within a step
  • Configuration Variables
    • replace your connectionStrings and appSettings variables if you added them to the Variables section
  • Configuration transforms
    • runs configuration file transforms BUT there are some special rules to follow
      • The configuration transformation files can either be named *.Release.config OR *.<Octopus Environment Name>.config
      • e.g. When deploying to an environment named "Sample-DEV", Octopus will execute Web.Release.config followed by Web.Sample-DEV.config

Click Apply to enable the selected features.

In the next article we'll share some extra tips.

[original publish date: 12/10/15]

Comments

Popular posts from this blog

ASP.NET Identity Remember Me

IIS Express Client Certificates

ASP.NET MVC - How to enable/disable CaC/Client Certificate authentication per area or route.