2015-05-10 3 views
0

Я развертываю пакет nuget, который приходит в Octopus Deploy из TeamCity. Что мне нужно сделать, так это применить конфигурационные преобразования и развернуть zip-архив этого содержимого пакета (двоичные файлы приложений Windows) в определенную папку щупальца. Мне даже не нужно публиковать сам пакет. Есть ли способ достичь этого?Octopus Deploy zip

+0

Можете ли вы сказать мне, если пакет NuGet содержит почтовый и конфигурационные файлы, или почтовый содержит файлы конфигурации файл - любой шанс, что вы можете предоставить скриншот содержимого .nupkg из TeamCity? –

+0

@DevOps, Мой пакет не содержит ZIP. Он содержит двоичные файлы и конфиги для преобразования. Поэтому мне нужно применить конфигурационное преобразование (как обычно, в Octopus Deploy), но затем развернуть двоичные файлы в заархивированной форме (в то время как обычно они развернуты как просто папка) – SiberianGuy

ответ

0

Если вы правильно поняли, вы сможете достичь этого достаточно легко.

имеет стандартный шаг типа Deploy NuGet Пакет установить пакет NuGet на щупальца для правильной среды и роли, обеспечивая переменные конфигурации и Xml трансформного включена - Это обеспечит ваши конфиги не трансформируются OOTB с не усилия.

extract step

Для того, чтобы затем развернуть двоичные файлы я хотел бы использовать некоторые пользовательские PowerShell, как это представляется, не быть «тип приложения», что Octopus лечит в качестве первого гражданина класса. Вы можете написать powerhell inline в качестве второго шага, добавив тип шага Запустите сценарий PowerShell и напишите код в пользовательском интерфейсе Octopus. Не зная, идет ли речь о сетевом ресурсе или какой-либо специфике, я не пытался писать какой-либо код.

enter image description here

Мое личное предпочтение было бы написать это как сценарий Powershell, который входит в состав пакета .nuget. Octopus Deploy поддерживает соглашение об именах в некоторых файлах PowerShell, которые он находит в пакете .nuget (PreDeploy.ps1, Deploy.ps1, PostDeploy.ps1). Я бы написал PostDeploy.ps1 и упаковал это. У меня был бы этот скрипт под контролем источника и мог бы легко вносить в него изменения.

Предостережение с этим, если вы не будете осторожны, заключается в том, что затем вы начинаете переносить развертывания в сторону от Octopus. Однако в письменной форме тщательно и в общих чертах вы можете загружать сценарий с помощью переменных (например, путь к каталогу/сетевому ресурсу и т. Д.), Что делает его многоразовым, если возникнет такая необходимость, и вы можете заставить его работать по-разному в разных средах.

Пожалуйста, простите мое невежество, если я до сих пор не понял, что вы имеете в виду бинарные файлов «находящихся в сжатом виде»

Более подробной информацией о Octopus Deploy PowerShell Scripts

Надеются, что это помощь.

+0

Это немного странно. Я имею в виду, что в TeamCity вы можете добавить zip-артефакт только с одной строкой. – SiberianGuy

+1

Да, но вы говорите о пакете nuget здесь - если вы хотите, чтобы Octopus в миксе, который я предполагаю, вы делаете, когда вы также упоминаете трансформации щупальца и конфига, то это должно быть сделано через NuGet. Если вы хотите развернуть zip-файл непосредственно из TeamCity, вам нужно будет выполнить конфигурационные преобразования как часть сборки (используя Slow Cheetah или что-то подобное) и использовать плагин Deployer -https: //confluence.jetbrains.com/ дисплей/TW/Deployer + плагин. Это «чувствует» немного беспорядочно, хотя ИМО –