我正在使用Octopus Deploy v3进行部署。
在我的项目中,我定义了一个名为data.folder
的变量我正在尝试使用此变量来设置使用包
部署的转换文件中的值我有以下.config文件
<?xml version="1.0"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" >
<sitecore>
<sc.variable name="dataFolder">
<patch:attribute name="value">/Data</patch:attribute>
</sc.variable>
</sitecore>
</configuration>
以及以下.ci.config文件
<?xml version="1.0"?>
<configuration
xmlns:patch="http://www.sitecore.net/xmlconfig/"
xmlns:set="http://www.sitecore.net/xmlconfig/set/"
xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<sitecore>
<sc.variable name="dataFolder" xdt:Transform="Replace" xdt:Location="Match(name)" set:value="#{data.folder}" />
</sitecore>
</configuration>
这两个文件都位于文件夹App_Config \ Include
中正如您所看到的,我已在变换文件中设置变量以包含变量&#34; {data.folder}&#34;
在Octopus中,我创建了一个包部署步骤,并设置了以下功能:
在文件中的替换变量中,我包含了目标文件
APP_CONFIG \包括\ Z_Project。#{Octopus.Environment.Id}的.config
我相信我已正确地遵循http://docs.octopusdeploy.com/display/OD/Substitute+Variables+in+Files,但是在部署运行时。 .ci.config文件中的变量未设置。
我确信我犯了一个非常基本的错误,但我不知道我做错了什么
我需要什么才能让转换文件使用Octopus中的变量
答案 0 :(得分:0)
听起来你的步骤,变量等方面的过程是正确的,但我不认为在预览转换后.ci.config文件中的转换是正确的。
它最终会像这样
<sitecore>
<sc.variable name="dataFolder" set:value="#{data.folder}"/>
</sitecore>
尝试使用
<sitecore>
<sc.variable name="dataFolder" xdt:Transform="Replace" xdt:Location="Match(name)">
<patch:attribute name="value">#{data.folder}</patch:attribute>
</sc.variable>
</sitecore>
通过Slow Cheetah(Visual Studio Gallery)执行此操作会正确执行转换并提供其他所有其他设置在Octopus Deploy中,这应该在转换发生之前注入值。
希望这有帮助