Как мне вызвать скрипт powershell с помощью доллара-слеша из конвейера jenkins и передать вывод на следующий этап - PullRequest
0 голосов
/ 10 июля 2019

Мой мастер Jenkins работает на linux, и я пытаюсь запустить этап, содержащий powershell, на сервере Windows.

Мне удалось запустить Get-ChildItem и передать выходные данные на следующий этап, но запустить vSphereКомандлеты PowerCLI ускользают от меня.

#!/usr/bin/env groovy
def datacenter = ''

pipeline {
    agent none
    stages {
        stage( 'PShell' ) {
            agent { label 'VmWareTools 2016' }
            steps {
                script {
                  def output = powershell(returnStdout: true, script: $/
                  try {
                      Import-Module KcsModule -Force
                      $VMWareCred = Read-CredentialFile mycreds.file
                      $VCenters = "VCenter1","VCenter2"
                      $VCenters | % { IF ($global:DefaultVIServers.Name -notcontains $_) { Connect-VIServer $_ -Credential $VMWareCred -WarningAction SilentlyContinue }}
                      ((Get-VM  $($env:VM)  |  where {$_.PowerState -eq 'PoweredOn'}).Uid.Split('`@`:')[1])
                   } 
                   catch { echo "Unable to locate DataCenter" } 
                   finally { Disconnect-VIServer * -Force }
                /$)
                datacenter = output
                }
            }
        }

groovy.lang.MissingPropertyException: Нет такого свойства: VMWareCred для класса: WorkflowScript

Возможно ли выполнить задание шага сборкичто invoke-команда со скриптом и захватить вывод в переменную для использования на следующем этапе?

...