Выполнять шаг только с определенной версии в Octopus deploy

Я хотел бы знать, есть ли способ запустить определенный шаг в Octopus, начиная с одной версии.

Я вижу, что это может быть достигнуто путем определения различных каналов и некоторых «Правил версии», но я думаю, что должен быть способ сделать это с помощью «Условия выполнения» на этапе.

Я видел здесь, что вы можете сравнить версии на Octopus.

Я хотел бы определить что-то подобное в моем «Условии выполнения»:

#{if Octopus.Release.Number > 2.3.15}True{/if}

Но я точно не знаю, как записать это условие. Пожалуйста, дайте мне знать, если вы можете мне помочь.

Это необходимо, потому что иногда мы добавляем новые пакеты (+ шаг) к существующему развертыванию, но развертывания для старых выпусков все еще создаются.

Заранее спасибо.


person AxelWass    schedule 04.06.2018    source источник


Ответы (2)


Выражения Octostache не допускают подобную логику, но вы можете поместить это вычисление в шаг скрипта, который выводит логическую переменную, которую Octostache может вычислить.

person benPearce    schedule 08.06.2018
comment
Спасибо за ответ, он помог мне найти решение. Я создал новый ответ с подробностями. - person AxelWass; 08.06.2018

Основываясь на ответе BenPearce, я решил свою ситуацию следующим образом:

На этапе PowerShell под названием «Проверить версию» я написал:

$IsOver2315 = $OctopusParameters["Octopus.Release.Number"] -gt [version]"2.3.15"
Set-OctopusVariable -name "IsOver2315" -value (&{If($IsOver2315) {"True"} Else {"False"}})

И в «Условиях выполнения» я написал:

#{Octopus.Action[Check version].Output.IsOver2315}

Спасибо, benPearce

person AxelWass    schedule 08.06.2018