Bash@3 – úloha Bash v3
Tuto úlohu použijte ke spuštění skriptu Bash v systému macOS, Linux nebo Windows.
Syntax
# 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.
Vstupy
targetType
- Typ
string
. Povolené hodnoty: filePath
(Cesta k souboru), inline
. Výchozí hodnota: filePath
.
Cílí na typ skriptu: cesta k souboru nebo vložená cesta.
filePath
- Cesta ke skriptu
string
. Vyžaduje se, když targetType = filePath
.
Cesta skriptu, který se má spustit. Musí se jednat o plně kvalifikovanou cestu nebo relativní k $(System.DefaultWorkingDirectory)
.
arguments
- Argumenty
string
. Nepovinný parametr. Použijte, když targetType = filePath
.
Argumenty předané skriptu prostředí. Buď řadové parametry, nebo pojmenované parametry.
script
- Skript
string
. Vyžaduje se, když targetType = inline
. Výchozí hodnota: # Write your commands here\n\necho 'Hello world'
.
Obsah skriptu.
script
- Skript
string
. Vyžaduje se, když targetType = inline
. Výchozí hodnota: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
.
Obsah skriptu.
workingDirectory
- Pracovní adresář
string
.
Určuje pracovní adresář, ve kterém chcete příkaz spustit. Pokud ho necháte prázdný, bude pracovní adresář $(Build.SourcesDirectory).
failOnStderr
- Selhání při standardní chybě
boolean
. Výchozí hodnota: false
.
Pokud je to pravda, úloha selže, pokud se do datového proudu zapíšou StandardError
nějaké chyby.
bashEnvValue
- Nastavení hodnoty pro proměnnou prostředí BASH_ENV
string
.
Pokud je zadaný vstup, jeho hodnota se rozbalí a použije se jako cesta ke spouštěcímu souboru, který se má spustit před spuštěním skriptu. Pokud už je proměnná BASH_ENV
prostředí definovaná, úloha tuto proměnnou přepíše jenom pro aktuální úkol. Přečtěte si další informace o spouštěcích souborech Bash.
noProfile
- Nenačítejte spouštěcí nebo inicializační soubory profilu.
boolean
. Výchozí hodnota: true
.
Nenačítejte spouštěcí soubor /etc/profile
celého systému ani žádný z osobních inicializačních souborů.
noRc
- **Nečtěte ~/.bashrc' initialization file**<br>
logickou. Default value:
hodnotu true'.
Možnosti ovládání úloh
Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacích prvků a běžné vlastnosti úlohy.
Výstupní proměnné
Žádné
Poznámky
Úloha Bash má v JAZYCE YAML zástupce: steps.bash.
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
Úloha Bash najde první implementaci Bash ve vašem systému.
Spuštěním which bash
v Systému Linux/macOS nebo where bash
ve Windows získáte představu o tom, který z nich vyberete.
Informace o spouštěcích souborech Bash
Úloha Bash vyvolá prostředí Bash jako neinteraktivní prostředí bez přihlášení. Když se Bash spustí neinteraktivně a spustí skript prostředí, vyhledá v prostředí proměnnou BASH_ENV
, rozbalí její hodnotu, pokud se tam objeví, a použije hodnotu jako název souboru ke čtení a spuštění.
Existuje několik možností, jak definovat BASH_ENV
proměnnou prostředí v kanálu. Za prvé je možné nastavit proměnnou BASH_ENV
prostředí jako proměnnou kanálu. V tomto případě se každá instance úlohy Bash pokusí rozbalit hodnotu BASH_ENV
proměnné a použít její hodnotu.
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
Další možností je nastavit BASH_ENV
pro jednu konkrétní instanci úlohy Bash. Existují dva způsoby, jak to udělat:
Prvním způsobem je použít vstup úkolu. Příklad najdete v příkladu bashEnvValue
:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Dalším způsobem je nastavit BASH_ENV
proměnnou jako proměnnou prostředí pro úlohu kanálu prostřednictvím klíčového env
slova, například:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Poznámka
Všimněte si, že pokud bashEnvValue
je vstup definovaný v úloze Bash, úloha kanálu přepíše hodnotu BASH_ENV
proměnné hodnotou ze bashEnvValue
vstupu v případě, že BASH_ENV
proměnná prostředí už byla v prostředí definovaná.
Skripty Bash se změnami do úložiště by měly být nastavené jako spustitelné (chmod +x
).
V opačném případě úkol místo toho zobrazí upozornění a source
soubor.
Příklady
V proměnných můžete mapovat pomocí parametru env
, který je společný pro všechny úkoly, a je to seznam dalších položek, které se mají mapovat do prostředí procesu.
Například tajné proměnné se automaticky nemapují. Pokud máte tajnou proměnnou s názvem Foo
, můžete ji namapovat takto:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
V systému macOS nebo Linux je výše uvedený příklad ekvivalentní:
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Požadavky
Požadavek | Popis |
---|---|
Typy kanálů | YAML, klasický build, klasická verze |
Běží na | Agent, DeploymentGroup |
Požadavky | Žádné |
Možnosti | Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze. |
Omezení příkazů | Všechny |
Nastavitelné proměnné | Všechny |
Verze agenta | 2.115.0 nebo vyšší |
Kategorie úloh | Nástroj |