DTSConfiguration Преобразование файла в Осьминог
Я использую Octopus и хочу трансформировать мои файлы. Однако эти файлы не являются файлами.config. Это как-то разные файлы отчетов, а именно.dtsConfig и.dtsx
Я пробовал это как файл.config, но он не работает. Я установил флажок "XML Configuration-XML Variables" на моем шаге пакета развертывания nuget и добавил переменную configurationString в "Переменные".
Как я могу преобразовать их, используя моего осьминога?
3 ответа
Вы можете предоставить переменные в любом типе файла независимо от того, является ли он.config или нет! Если файл не является.config, вам нужно сделать несколько дополнительных шагов. Примените следующие шаги:
- Добавьте отображение переменных в ваш файл, как этот #{MyVariable},
- Укажите, что переменная в переменной Octopus установлена правильно,
- Не забудьте включить этот файл в процесс развертывания Octopus! На шаге процесса нажмите ссылку "Настроить компоненты", затем установите флажок "Заменить переменные в файлах". После того, как вы установили этот флажок, вы увидите новое текстовое поле "Целевые файлы", появившееся на шаге процесса. В этом текстовом поле укажите путь к файлу!
В любом случае, вы можете включить в процесс скрипт PowerShell, который может выполнять более мощную задачу. Вы также можете с помощью скрипта ps1 изменить имя файла или то, что вы хотите.
Простым решением было бы использовать сценарии preDeploy, Deploy и PostDeploy для выполнения некоторых манипуляций с файлами.
PreDeploy -> переименовать DTSConfig в.config
Либо используйте Deploy или файлы преобразования, чтобы внести изменения.
PostDeploy -> переименовать его обратно в DTSConfig
В зависимости от вашей версии Octopus, вам придется либо включить файлы ps1 (Pre/post/deploy), либо включить их в процесс / шаг.
Я использую Octopus и использовал для развертывания пакета служб SSIS, предоставляя значения строки подключения в.dtsconfig. Вам не нужно применять преобразование. Просто используйте переменные. Это пойдет на работу.
Просто используйте #{Variables} в вашем.dtsconfig. Смотрите ниже пример #{TestVariable1}
dtsconfig:
<?xml version="1.0" ?>
- <DTSConfiguration>
- <DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="Developer" GeneratedFromPackageName="SSIS_CashierTotals" GeneratedFromPackageID="{0AB76029-625B-49CC-8131-91F3512B17BC}" GeneratedDate="4/22/2010 1:28:15 PM" />
</DTSConfigurationHeading>
- <Configuration ConfiguredType="Property" Path="\Package.Variables[User::sFileName].Properties[Value]" ValueType="String">
<ConfiguredValue>#{TestVariable1}</ConfiguredValue>
</Configuration>
</DTSConfiguration>
Укажите значение для переменной #{TestVariable1} в разделе Переменные вашего проекта в Octopus deploy.