Bash@3 - Bash v3 タスク
このタスクを使用して、macOS、Linux、または Windows で Bash スクリプトを実行します。
手記
Windows ホストでは、WSL の既定のディストリビューションから bash が実行されます。 WSL をインストールし、エージェントを実行するユーザーにディストリビューションのセットアップが必要です。 WSL は、Microsoft がホストする Windows エージェント イメージにインストールされます。 詳細については、「Microsoft でホストされるエージェントの - ソフトウェア」を参照してください。
構文
# Bash v3
# Run a Bash script on macOS, Linux, or Windows.
- task: Bash@3
inputs:
#targetType: 'filePath' # 'filePath' | 'inline'. Type. Default: filePath.
filePath: # string. Required when targetType = filePath. Script Path.
#arguments: # string. Optional. Use when targetType = filePath. Arguments.
#script: # string. Required when targetType = inline. Script.
# Advanced
#workingDirectory: # string. Working Directory.
#failOnStderr: false # boolean. Fail on Standard Error. Default: false.
#bashEnvValue: # string. Set value for BASH_ENV environment variable.
# Bash v3
# Run a Bash script on macOS, Linux, or Windows.
- task: Bash@3
inputs:
#targetType: 'filePath' # 'filePath' | 'inline'. Type. Default: filePath.
filePath: # string. Required when targetType = filePath. Script Path.
#arguments: # string. Optional. Use when targetType = filePath. Arguments.
#script: # string. Required when targetType = inline. Script.
# Advanced
#workingDirectory: # string. Working Directory.
#failOnStderr: false # boolean. Fail on Standard Error. Default: false.
#noProfile: true # boolean. Don't load the profile startup/initialization files. Default: true.
#noRc: true # boolean. Don't read the `~/.bashrc' initialization file. Default: true.
# Bash v3
# Run a Bash script on macOS, Linux, or Windows.
- task: Bash@3
inputs:
#targetType: 'filePath' # 'filePath' | 'inline'. Type. Default: filePath.
filePath: # string. Required when targetType = filePath. Script Path.
#arguments: # string. Optional. Use when targetType = filePath. Arguments.
#script: # string. Required when targetType = inline. Script.
# Advanced
#workingDirectory: # string. Working Directory.
#failOnStderr: false # boolean. Fail on Standard Error. Default: false.
入力
targetType
-
型の
string
. 使用できる値: filePath
(ファイル パス)、inline
。 既定値: filePath
.
ターゲット スクリプトの種類: ファイル パスまたはインライン。
filePath
-
スクリプト パスの
string
.
targetType = filePath
する場合に必要です。
実行するスクリプトのパス。 これは、完全修飾パスであるか、$(System.DefaultWorkingDirectory)
に対する相対パスである必要があります。
arguments
-
引数
string
. 随意。
targetType = filePath
するときに使用します。
シェル スクリプトに渡される引数。 序数パラメーターまたは名前付きパラメーター。
script
-
スクリプト
string
.
targetType = inline
する場合に必要です。 既定値: # Write your commands here\n\necho 'Hello world'
.
スクリプトの内容。
script
-
スクリプト
string
.
targetType = inline
する場合に必要です。 既定値: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
.
スクリプトの内容。
workingDirectory
-
作業ディレクトリの
string
.
コマンドを実行する作業ディレクトリを指定します。 空のままにすると、作業ディレクトリは $(Build.SourcesDirectory) 。
標準エラーで失敗する failOnStderr
-
boolean
. 既定値: false
.
これが true の場合、エラーが StandardError
ストリームに書き込まれた場合、このタスクは失敗します。
bashEnvValue
-
環境変数の値BASH_ENV設定
string
.
入力が指定されている場合、その値は展開され、スクリプトを実行する前に実行するスタートアップ ファイルのパスとして使用されます。 環境変数 BASH_ENV
が既に定義されている場合、タスクはこの変数を現在のタスクに対してのみオーバーライドします。 Bash スタートアップ ファイル の詳細を確認します。
noProfile
-
プロファイルのスタートアップ/初期化ファイルを読み込まない
boolean
. 既定値: true
.
システム全体のスタートアップ ファイル /etc/profile
または個人の初期化ファイルを読み込まない。
noRc
- **true. Default value:
~/.bashrc' initialization file**<br>
ブール値を読み取りません。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
何一つ。
備考
bash タスクには、YAML のショートカットがあります。steps.bash。
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
Bash タスクは、システム上の最初の Bash 実装を見つけます。
Linux/macOS または Windows で where bash
which bash
を実行すると、どれを選択するかを把握できます。
Bash スタートアップ ファイルに関する情報
Bash タスクは、非対話型の非ログイン シェルとして Bash を呼び出します。 Bash が非対話形式で起動されると、シェル スクリプトを実行するために、Bash は環境内で BASH_ENV
変数を検索し、その変数が存在する場合はその値を展開し、その値を読み取りおよび実行するファイルの名前として使用します。
パイプラインで BASH_ENV
環境変数を定義するには、いくつかのオプションがあります。 まず、BASH_ENV
環境変数をパイプライン変数として設定できます。 この場合、Bash タスクの各インスタンスは、BASH_ENV
変数の値を展開し、その値を使用しようとします。
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
もう 1 つのオプションは、Bash タスクの特定のインスタンスに対して BASH_ENV
を設定することです。これを行うには、次の 2 つの方法があります。
最初の方法は、bashEnvValue
タスク入力を使用することです。参照用の例を参照してください。
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
もう 1 つの方法は、env
キーワードを使用してパイプライン タスクの環境変数として BASH_ENV
変数を設定することです。次に例を示します。
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
手記
bash タスクで bashEnvValue
入力が定義されている場合、BASH_ENV
環境変数が環境内で既に定義されている場合、パイプライン タスクは BASH_ENV
変数の値を bashEnvValue
入力の値でオーバーライドすることに注意してください。
リポジトリにチェックインされた Bash スクリプトは、実行可能ファイル (chmod +x
) を設定する必要があります。
それ以外の場合、タスクは警告を表示し、代わりにファイルを source
します。
例
env
パラメーターを使用して変数にマップできます。すべてのタスク共通であり、プロセスの環境にマップする追加項目の一覧です。
たとえば、シークレット変数は自動的にはマップされません。
Foo
という名前のシークレット変数がある場合は、次のようにマップできます。
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
macOS または Linux では、上記の例は次のようになります。
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)