Octopus Deploy - Configure Octopus Deployment Variables for Production & Integration
There are a few things we need to ensure Octopus can play nicely with Azure.
Configure Octopus to load Azure Commandlets
We want to be able to use commandlets like Switch-AzureWebsiteSlot in our octopus scripts, but we need to install the commandlets on the server first, and then tell octopus to load them.
Installation Azure Commandlets on VM
- Go here and download the Azure cli Windows
- Run the installer, and after installed, make sure to "Add" the Microsoft Azure Powershell.
Once completed, you will have files in
C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1
Configure Octopus Server to load Azure commandlets
Configure Octopus to load the Azure modues. a. Create a file load_azure.ps1
$octopus = "C:\Program Files\Octopus Deploy\Octopus\Octopus.Server.exe" $azurePowerShell = "C:\Program Files (x86)\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Azure.psd1" & "$octopus" service --stop &"$octopus" configure --azurePowerShellModule "$azurePowerShell" & "$octopus" service --start
b. Run that file in a power shell prompt. It will restart Octopus Server and load in the new libraries you just installed on the server.
Configure Octopus variables for Azure deployments.
- Click "Library"
- Choose "Variable Set"
- Click "Add variable set"
- Name it something like "FL Deployment Variables"
- Set the variables and their values as defined below.
- In your Project, under the "Variables" section, choose this variable set and add it to the project.
Remove files that are not in the package.
Octopus.Action.Azure.RemoveAdditionalFiles = true
Octopus does not by default remove files that are not in your repo / NuGet package. This can cause problems if you delete files in your app, as they would not get deleted on your next deploy.
blog comments powered by Disqus