We have a setup whereby we have multiple websites that all share a common CSS/JS/Images/… project that we call the FrontEnd Project. Each Website references this set of files via virtual directories in IIS. Our front end web developers then have the ability to tweak CSS etc and deploy the Front End Project at a much higher frequency than the rest of the sites codebase. The only issue here is that on deploying a single FrontEnd nuget package, I need to update the IIS folder path for the virtual directories of several sites to all point to the new location. The current “Update IIS” feature doesn’t appear to support multiple sites so I’m trying to solve this myself via powershell and have hit another issue with this solution.
Octopus step output variables don’t appear to work for child steps.
So if I configure a rolling deployment across multiple web servers with child steps that looks something like:
1.1 PowerShell: Take Out of Load Balancer
1.2 Deploy NuGet Package
1.3 PowerShell: Update multiple IIS virtual directory paths based on where step 1.2 was deployed to
1.4 PowerShell: Verify Site works
1.5 PowerShell: Put back into Load Balancer
The issue is that step 1.3 doesn’t appear to have access to the Package Install Location from Step 1.2 because they’re all child steps.
Ultimately to solve my immediate issue here the “Update IIS Sites” feature when deploying a package would allow multiple sites to be updated rather than just 1, but failing that, I can’t seem to do this myself if I don’t know where step 1.2 actually deployed to.
Any advice here would be appreciated.