We used to deploy out 10 applications on Azure VM as IIS applications using Octopus.
Now we want to deploy these applications on Azure VM Scale Set, I just wondering if we have any plugin to do this or any other method is there, also wan to know when new system spin up through VMSS how Octopus will deploy these 10 applications on new VM IIS application physical slots.
When thinking about load-balancing (or cloud-based auto-scaling like Azure VMSS), Automation Deployment Triggers can help.
For example, in your project, you could setup a Deployment Target Project Trigger, filtering on the “Machine becomes available for deployment” event group (and matching whatever roles/environments you’re expecting for these VMs).
Then, as your Azure VMSS adds new VMs and they register their Tentacles with your Octopus Server, Octopus knows to deploy the latest successful release to that new deployment target for that project.
I got to know that how we can deploy latest code using trigger.
I am facing an issue while installing the Octopus DSC along with VMSS using ARM template.
I followed below link to install the tentacle, I downloaded latest OctopusDSC repo and I created OctopusTentacle.ps1 script and placed next to extracted OctopusDSC folder and then zipped both and placed on Azure blob.
While running the ARM template it is not able to find OctopusTentacle.ps1 script file under the below location from VM launched.
Re. Removing targets: One approach is to script the removal of the machine manually (using our REST API), as your VM is being torn down / terminated. This way you keep Azure and Octopus in sync.
You could also consider an Azure Automation account and look at using the OctoPosh PowerShell module (specifically the Remove-OctopusResource cmdlet).
While they’re not targeting AzureVMSS specifically, he does mention how to achieve this in the comments, so hopefully that sets you on the right track.