Я развертываю пакет nuget, который приходит в Octopus Deploy из TeamCity. Что мне нужно сделать, так это применить конфигурационные преобразования и развернуть zip-архив этого содержимого пакета (двоичные файлы приложений Windows) в определенную папку щупальца. Мне даже не нужно публиковать сам пакет. Есть ли способ достичь этого?Octopus Deploy zip
ответ
Если вы правильно поняли, вы сможете достичь этого достаточно легко.
имеет стандартный шаг типа Deploy NuGet Пакет установить пакет NuGet на щупальца для правильной среды и роли, обеспечивая переменные конфигурации и Xml трансформного включена - Это обеспечит ваши конфиги не трансформируются OOTB с не усилия.
Для того, чтобы затем развернуть двоичные файлы я хотел бы использовать некоторые пользовательские PowerShell, как это представляется, не быть «тип приложения», что Octopus лечит в качестве первого гражданина класса. Вы можете написать powerhell inline в качестве второго шага, добавив тип шага Запустите сценарий PowerShell и напишите код в пользовательском интерфейсе Octopus. Не зная, идет ли речь о сетевом ресурсе или какой-либо специфике, я не пытался писать какой-либо код.
Мое личное предпочтение было бы написать это как сценарий Powershell, который входит в состав пакета .nuget. Octopus Deploy поддерживает соглашение об именах в некоторых файлах PowerShell, которые он находит в пакете .nuget (PreDeploy.ps1, Deploy.ps1, PostDeploy.ps1). Я бы написал PostDeploy.ps1 и упаковал это. У меня был бы этот скрипт под контролем источника и мог бы легко вносить в него изменения.
Предостережение с этим, если вы не будете осторожны, заключается в том, что затем вы начинаете переносить развертывания в сторону от Octopus. Однако в письменной форме тщательно и в общих чертах вы можете загружать сценарий с помощью переменных (например, путь к каталогу/сетевому ресурсу и т. Д.), Что делает его многоразовым, если возникнет такая необходимость, и вы можете заставить его работать по-разному в разных средах.
Пожалуйста, простите мое невежество, если я до сих пор не понял, что вы имеете в виду бинарные файлов «находящихся в сжатом виде»
Более подробной информацией о Octopus Deploy PowerShell Scripts
Надеются, что это помощь.
Это немного странно. Я имею в виду, что в TeamCity вы можете добавить zip-артефакт только с одной строкой. – SiberianGuy
Да, но вы говорите о пакете nuget здесь - если вы хотите, чтобы Octopus в миксе, который я предполагаю, вы делаете, когда вы также упоминаете трансформации щупальца и конфига, то это должно быть сделано через NuGet. Если вы хотите развернуть zip-файл непосредственно из TeamCity, вам нужно будет выполнить конфигурационные преобразования как часть сборки (используя Slow Cheetah или что-то подобное) и использовать плагин Deployer -https: //confluence.jetbrains.com/ дисплей/TW/Deployer + плагин. Это «чувствует» немного беспорядочно, хотя ИМО –
Вы можете добавить сценарий powershell после развертывания на свой шаг развертывания, чтобы закрепить содержимое папки развертывания после преобразования конфигураций.
Можете ли вы сказать мне, если пакет NuGet содержит почтовый и конфигурационные файлы, или почтовый содержит файлы конфигурации файл - любой шанс, что вы можете предоставить скриншот содержимого .nupkg из TeamCity? –
@DevOps, Мой пакет не содержит ZIP. Он содержит двоичные файлы и конфиги для преобразования. Поэтому мне нужно применить конфигурационное преобразование (как обычно, в Octopus Deploy), но затем развернуть двоичные файлы в заархивированной форме (в то время как обычно они развернуты как просто папка) – SiberianGuy