¿Cómo especificar los nombres de variables incorporadas de Octopus en un archivo de configuración XML?
Estamos probando Octopus Deploy, por lo que creamos un archivo web.config de muestra que instalamos y transformamos en diferentes entornos. La transformación web.config y el uso de la variable personalizada funcionan bien, pero no se pueden sustituir las variables Octopus integradas. Aquí hay un ejemplo de la sección XML en web.config:
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
<add key="environmentTransform" value="" />
<add key="EnvironmentVariable1" value="$OctopusEnvironmentName" />
<add key="EnvironmentVariable2" value="$(OctopusEnvironmentName)" />
<add key="EnvironmentVariable3" value="$(Octopus.Environment.Name)" />
<add key="EnvironmentVariable4" value="$Octopus.Environment.Name)" />
<add key="EnvironmentVariable5" value="$OctopusParameters["Octopus.Environment.Name"]" />
<add key="MachineVariable1" value="$Octopus.Machine.Name" />
<add key="MachineVariable2" value="#(Octopus.Machine.Name)" />
<add key="MachineVariable3" value="#OctopusMachineName" />
<add key="CustomVariable" value="CustomVariable" />
</appSettings>
Y aquí está web.Dev.config, que lleva el nombre del entorno:
<appSettings>
<add key="environmentTransform" value="Dev" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
Y aquí está el resultado:
<appSettings>
<add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
<add key="environmentTransform" value="Dev" />
<add key="EnvironmentVariable1" value="$OctopusEnvironmentName" />
<add key="EnvironmentVariable2" value="$(OctopusEnvironmentName)" />
<add key="EnvironmentVariable3" value="$(Octopus.Environment.Name)" />
<add key="EnvironmentVariable4" value="$Octopus.Environment.Name)" />
<add key="EnvironmentVariable5" value="$OctopusParameters["Octopus.Environment.Name"]" />
<add key="MachineVariable1" value="$Octopus.Machine.Name" />
<add key="MachineVariable2" value="#(Octopus.Machine.Name)" />
<add key="MachineVariable3" value="#OctopusMachineName" />
<add key="CustomVariable" value="Value for maeaint01" />
</appSettings>
Como puedes ver, las variables de Octopus no son reemplazadas. ¿Alguna idea de por qué?