Поделиться через


ShellScript@2 — задача скрипта оболочки версии 2

Используйте эту задачу для выполнения скрипта оболочки с помощью bash.

Синтаксис

# Shell script v2
# Run a shell script using Bash.
- task: ShellScript@2
  inputs:
    scriptPath: # string. Required. Script Path. 
    #args: # string. Arguments. 
  # Advanced
    #disableAutoCwd: false # boolean. Specify Working Directory. Default: false.
    #cwd: # string. Optional. Use when disableAutoCwd = true. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.
# Shell Script v2
# Run a shell script using bash.
- task: ShellScript@2
  inputs:
    scriptPath: # string. Required. Script Path. 
    #args: # string. Arguments. 
  # Advanced
    #disableAutoCwd: false # boolean. Specify Working Directory. Default: false.
    #cwd: # string. Optional. Use when disableAutoCwd = true. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.

Входные данные

scriptPath - Путь к скрипту
string. Обязательный.

Указывает относительный путь от корня репозитория к файлу скрипта оболочки, который требуется запустить.


args - Аргументы
string.

Указывает аргументы, которые необходимо передать в скрипт.


disableAutoCwd - Указание рабочего каталога
boolean. Значение по умолчанию: false.

Указывает рабочий каталог, в котором задача запускает скрипт. Если значение остается пустым, задача по умолчанию использует папку, в которой находится скрипт.


cwd - Рабочий каталог
string. Необязательный элемент. Используйте при disableAutoCwd = true.

Указывает рабочий каталог, в котором выполняется скрипт. Если значение остается пустым, задача использует корень репозитория (сборка) или артефакты (выпуск), то есть $(System.DefaultWorkingDirectory).


failOnStandardError - Сбой при стандартной ошибке
boolean. Значение по умолчанию: false.

Если значение равно true, задача завершится сбоем, если ошибки записываются в поток StandardError.


Параметры управления задачами

Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Где можно узнать о скриптах Bash?

Разделы справки задать переменную, чтобы ее можно было считывать последующими скриптами и задачами?

Дополнительные сведения об определении переменных сборки в скрипте см. в статье Определение и изменение переменных сборки в скрипте.

Дополнительные сведения об определении переменных выпуска в скрипте см. в статье Определение и изменение переменных выпуска в скрипте.

Примеры

Создайте test.sh в корне репозитория. Рекомендуется создать этот файл из среды Linux (например, реального компьютера Linux или подсистема Windows для Linux), чтобы были правильные окончания строк. Кроме того, не забудьте перед chmod +x test.sh фиксацией.

#!/bin/bash
echo "Hello World"
echo "AGENT_WORKFOLDER is $AGENT_WORKFOLDER"
echo "AGENT_WORKFOLDER contents:"
ls -1 $AGENT_WORKFOLDER
echo "AGENT_BUILDDIRECTORY is $AGENT_BUILDDIRECTORY"
echo "AGENT_BUILDDIRECTORY contents:"
ls -1 $AGENT_BUILDDIRECTORY
echo "SYSTEM_HOSTTYPE is $SYSTEM_HOSTTYPE"
echo "Over and out."

Добавьте следующую задачу в конвейер, чтобы запустить предыдущий скрипт.

- task: ShellScript@2
  inputs:
    scriptPath: 'test.sh'

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Локальные агенты должны иметь возможности , соответствующие следующим требованиям для выполнения заданий, использующих эту задачу: sh
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента Все поддерживаемые версии агента.
Категория задач Служебная программа