¿Cómo escribo un script de PowerShell multilínea en línea en una tarea de Azure Pipelines PowerShell?

8

El esquema yaml para una tarea de Powershell le permite seleccionar targetType: 'en línea' y definir un script en el script: input.

Pero, ¿cuál es el formato correcto para escribir un script con más de una línea?

Los documentos no especifican cómo, y el uso de una tubería en la línea uno (como se especifica para la tarea Línea de comando) no funciona.

Ola Eldøy
fuente

Respuestas:

8

Puede usar el carácter de canalización (el Indicador escalar de bloque literal ) para definir un bloque de texto de varias líneas con caracteres de nueva línea, como su secuencia de comandos en línea; por ejemplo así:

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      # Write your PowerShell commands here.
      Write-Host "Hello world"
      Write-Host "Hullo clouds"
      Write-Host "Hullo sky"
Vince Bowdren
fuente
0

Es posible usar la tarea de PowerShell de esta manera:

# Job definition etc
steps:
  - powershell: |
      Write-Host A
      Write-Host B
      Write-Host C
  - task: AzureRmWebAppDeployment@4
      # The rest of this task is omitted.

Si usa en powershelllugar del task: PowerShell@2tipo de destino predeterminado inline, no necesita configurarlo nuevamente.

Martin Brown
fuente