Hi all,
I’ve been beefing up my deployment process today for a web application pair that I am deploying to an IIS server. Up until today I have been using the “Deploy a NuGet package” option with the “IIS home directory” feature. The problem with this simple set up is that whenever I added a new server as a deployment target, I needed to go through and add the IIS virtual directory manually to my SSL Website.
To address this I have added a few steps based on the community step templates “File System - Create Folder” and “IIS Application - Create”. My process is:
- Create folder C:\inetpub\wwwrootssl\MyWebApp
- Create virtual directory SSL Web Site\MyWebApp pointing at this folder
- Deploy Octopus package of MyWebApp to SSL Web Site\MyWebApp
On the 3rd step, I get the following error and I’m not sure what I need to do to fix it:
Updating IIS website named 'SSL Web Site/MyWebSite’
Fatal 07:25:28
The configuration object is read only, because it has been committed by a call to ServerManager.CommitChanges(). If write access is required, use ServerManager to get a new reference.
System.InvalidOperationException: The configuration object is read only, because it has been committed by a call to ServerManager.CommitChanges(). If write access is required, use ServerManager to get a new reference.
at Microsoft.Web.Administration.Configuration.SetDirty()
at Microsoft.Web.Administration.ConfigurationElement.SetAttributeValue(String attributeName, Object value)
at Octopus.Tentacle.Integration.Iis.WebServerSevenSupport.<>c__DisplayClass10.b__f(VirtualDirectory found) in y:\work\refs\heads\master\source\Octopus.Tentacle\Integration\Iis\WebServerSevenSupport.cs:line 73
at Octopus.Tentacle.Integration.Iis.WebServerSevenSupport.FindVirtualDirectory(String webSiteName, String virtualDirectoryPath, Action`1 found) in y:\work\refs\heads\master\source\Octopus.Tentacle\Integration\Iis\WebServerSevenSupport.cs:line 94
at Octopus.Tentacle.Integration.Iis.WebServerSevenSupport.ChangeHomeDirectory(String webSiteName, String virtualDirectoryPath, String newWebRootPath) in y:\work\refs\heads\master\source\Octopus.Tentacle\Integration\Iis\WebServerSevenSupport.cs:line 76
at Octopus.Tentacle.Procedures.Implementations.Iis.IisHomeDirectoryUpdateProcedure.Start(IProcedureHost host, ProcedureState state) in y:\work\refs\heads\master\source\Octopus.Tentacle\Procedures\Implementations\Iis\IisHomeDirectoryUpdateProcedure.cs:line 36
at Octopus.Tentacle.Orchestration.Procedures.ProcedureCallOrchestrator.Receive(CallProcedureCommand message) in y:\work\refs\heads\master\source\Octopus.Tentacle\Orchestration\Procedures\ProcedureCallOrchestrator.cs:line 73
at Pipefish.Actor.OnReceivingTyped[TBody](Message message) in y:\work\3cbe05672d69a231\source\Pipefish\Actor.cs:line 113
Tentacle version 2.5.10.567
My Octopus Deploy server is on v2.5.10.567
Any guidance on what I should look at next would be great.