Bash@3 – Bash v3-feladat
Ezzel a feladatsal Bash-szkriptet futtathat macOS, Linux vagy Windows rendszeren.
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.
Bevitelek
targetType
- Típus
string
. Engedélyezett értékek: filePath
(Fájl elérési útja), inline
. Alapértelmezett érték: filePath
.
Célszkript típusa: fájl elérési útja vagy beágyazott.
filePath
- Szkript elérési útja
string
. Akkor szükséges, ha targetType = filePath
.
A végrehajtandó szkript elérési útja. Ennek teljesen minősített elérési útnak kell lennie, vagy a következőhöz viszonyítva: $(System.DefaultWorkingDirectory)
.
arguments
- Érvek
string
. Választható. Használja a következőt: targetType = filePath
.
A rendszerhéj-szkriptnek átadott argumentumok. Vagy sorszámi paramétereket vagy elnevezett paramétereket.
script
- Script
string
. Akkor szükséges, ha targetType = inline
. Alapértelmezett érték: # Write your commands here\n\necho 'Hello world'
.
A szkript tartalma.
script
- Script
string
. Akkor szükséges, ha targetType = inline
. Alapértelmezett érték: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
.
A szkript tartalma.
workingDirectory
- Munkakönyvtár
string
.
Meghatározza azt a munkakönyvtárat, amelyben futtatni szeretné a parancsot. Ha üresen hagyja, a munkakönyvtár $(Build.SourcesDirectory).
failOnStderr
- Hiba standard hiba miatt
boolean
. Alapértelmezett érték: false
.
Ha ez igaz, ez a feladat sikertelen lesz, ha a rendszer bármilyen hibát ír a StandardError
streambe.
bashEnvValue
- Érték beállítása BASH_ENV környezeti változóhoz
string
.
Ha a bemenet meg van adva, az értéke ki lesz bontva, és egy indítási fájl elérési útjaként lesz használva, amelyet a szkript futtatása előtt végre kell hajtani. Ha a környezeti változó BASH_ENV
már definiálva van, a tevékenység csak az aktuális tevékenységre fogja felülbírálni ezt a változót. További információ a Bash indítási fájljairól.
noProfile
- Ne töltse be a profil indítási/inicializálási fájljait
boolean
. Alapértelmezett érték: true
.
Ne töltse be a rendszerszintű indítási fájlt /etc/profile
vagy a személyes inicializálási fájlokat.
noRc
- **Ne olvassa el a ~/.bashrc' initialization file**<br>
logikai. Default value:
igaz értéket.
Feladatvezérlési lehetőségek
Minden feladathoz tartoznak vezérlési lehetőségek is a feladat bemenetei mellett. További információ: Vezérlési beállítások és gyakori feladattulajdonságok.
Kimeneti változók
Nincsenek.
Megjegyzések
A bash-feladatnak van egy parancsikonja a YAML-ben: steps.bash.
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
A Bash-feladat megkeresi a rendszer első Bash-implementációját.
Linux/macOS rendszeren vagy where bash
Windows rendszeren futtatva which bash
képet kaphat arról, hogy melyiket választja ki.
Információk a Bash indítási fájljairól
A Bash-feladat nem interaktív, nem bejelentkezési felületként hívja meg a Basht. Ha a Bash nem interaktív módon indul el, egy rendszerhéjszkript futtatásához a Bash megkeresi a változót BASH_ENV
a környezetben, kibontja annak értékét, ha ott megjelenik, és az értéket egy fájl neveként használja az olvasáshoz és végrehajtáshoz.
A környezeti változó definiálása BASH_ENV
több módon is lehetséges egy folyamatban. Először is lehetőség van a BASH_ENV
környezeti változó folyamatváltozóként való beállítására. Ebben az esetben a Bash-feladat minden példánya megpróbálja kibontani a változó értékét BASH_ENV
, és használni annak értékét.
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
Egy másik lehetőség a Bash-feladat egy adott példányának beállítása BASH_ENV
, ennek kétféle módja van:
Az első módszer a tevékenység bemenetének bashEnvValue
használata, lásd egy referencia-példát:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Egy másik módszer a BASH_ENV
változó környezeti változóként való beállítása a folyamatfeladathoz a env
kulcsszón keresztül, például:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Megjegyzés
Vegye figyelembe, hogy ha a bashEnvValue
bemenet a Bash-tevékenységben van definiálva, a folyamattevékenység felülbírálja a BASH_ENV
változó értékét a bashEnvValue
bemenet értékével egy olyan esetben, amikor a BASH_ENV
környezeti változó már definiálva lett a környezetben.
Az adattárba bejelentkezett Bash-szkripteknek végrehajthatónak kell lenniük (chmod +x
).
Ellenkező esetben a feladat egy figyelmeztetést és source
egy fájlt jelenít meg.
Példák
A változókban való leképezéshez használja az env
összes tevékenységhez gyakran használt paramétert, és a folyamat környezetébe való leképezéshez szükséges további elemek listáját.
A titkos változók például nem lesznek automatikusan leképezve. Ha rendelkezik egy nevű titkos változóval Foo
, az alábbi módon képezheti le:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
MacOS vagy Linux rendszeren a fenti példa a következőnek felel meg:
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Követelmények
Követelmény | Leírás |
---|---|
Folyamattípusok | YAML, klasszikus build, klasszikus kiadás |
Futtatás | Ügynök, DeploymentGroup |
Igények | None |
Képességek | Ez a feladat nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
Parancskorlátozások | Bármelyik |
Változók beállítása | Bármelyik |
Ügynök verziója | 2.115.0 vagy újabb |
Feladatkategória | Segédprogram |