Я хочу передать значение в Octopus от одного шага к другому проекта через выходную переменную, значение «VM running» или «VM освобождается». Есть два сервера, один сервер не работает, другой работает, поэтому значения должны быть переданы соответственно. Теперь, когда я использую точный синтаксис выходной переменной, он передает значение Null на следующий шаг.
Проект развертывания Octopus Шаг 1:
$RG = $RGName
$VM = "#{StepTemplate_VMName}"
$WarningPreference = 'SilentlyContinue'
$VMStats = (Get-AzureRmVM -Name $VM -ResourceGroupName $RG -Status).Statuses
$stats = ($VMStats | Where Code -Like 'PowerState/*')[0].DisplayStatus
Set-OctopusVariable -name "RunStatus" -value $stats
write-host $stats #value can either be "VM running" or "VM deallocated"
Проект развертывания Octopus Шаг 2:
$VM = "#{StepTemplate_VMName}"
$Runstatus = $OctopusParameters["Octopus.Action[Step1].Output[$VM].RunStatus"]
write-host $Runstatus
Если я не использую [$ VM] в коде шага 2, это дает только 1 значение для обеих машин в качестве «ВМ работает» Согласно синтаксису, приведенному на веб-сайте Octopus, мы должны использовать ВМ имя для передачи специфицируемой машины c различные значения. поэтому я использовал [$ VM], но он дает нулевые значения обоим компьютерам
Редактировать: Событие Если я жестко закодирую значение $ VM для любого VMName, он все равно дает мне ноль.