Bash@3 – Bash v3 feladat
Ezzel a feladatsal Bash-szkriptet futtathat macOS, Linux vagy Windows rendszeren.
Jegyzet
Windows-gazdagépen ez bash-t futtat a WSL alapértelmezett disztribúciójából. A WSL-t telepíteni kell, és az ügynök által futtatott felhasználónak terjesztési beállítással kell rendelkeznie. A WSL telepítve van a Microsoft által üzemeltetett Windows-ügynökrendszerképeken. További információ: Microsoft által üzemeltetett ügynökök – Szoftver.
Szintaxis
# 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.
Bemenetek
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útvonal
string
.
targetType = filePath
esetén kötelező.
A végrehajtandó szkript elérési útja. Ennek teljes elérési útnak kell lennie, vagy a $(System.DefaultWorkingDirectory)
.
arguments
-
argumentumok
string
. Szabadon választható. Használja a targetType = filePath
.
A rendszerhéj-szkriptnek átadott argumentumok. Vagy sorszámparaméterek vagy elnevezett paraméterek.
script
-
szkript
string
.
targetType = inline
esetén kötelező. Alapértelmezett érték: # Write your commands here\n\necho 'Hello world'
.
A szkript tartalma.
script
-
szkript
string
.
targetType = inline
esetén kötelező. 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
.
Azt a munkakönyvtárat adja meg, amelyben futtatni szeretné a parancsot. Ha üresen hagyja, a munkakönyvtár $(Build.SourcesDirectory).
failOnStderr
-
Normál hiba
boolean
. Alapértelmezett érték: false
.
Ha ez igaz, ez a feladat sikertelen lesz, ha bármilyen hibát ír a StandardError
streambe.
bashEnvValue
-
BASH_ENV környezeti változó értékének beállítása
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ájlok .
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át".
Tevékenységvezérlési beállítások
Minden tevékenység a tevékenységbemeneteken kívül vezérlési lehetőségekkel is rendelkezik. További információ: Vezérlők és gyakori feladattulajdonságok.
Kimeneti változók
Egyik sem.
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.
Az which bash
Linuxon/macOS-en vagy windowsos where bash
futtatva 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 rendszerhéjként hívja meg a Basht. Ha a Bash nem interaktívan indul el, egy rendszerhéjszkript futtatásához a Bash megkeresi a környezetben BASH_ENV
változót, kibontja annak értékét, ha megjelenik, és az értéket egy fájl neveként használja az olvasáshoz és a végrehajtáshoz.
A folyamat BASH_ENV
környezeti változójának meghatározására több lehetőség is van. Először is beállíthatja a BASH_ENV
környezeti változót folyamatváltozóként. Ebben az esetben a Bash-feladat minden példánya megpróbálja kibontani a BASH_ENV
változó értékét, é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 BASH_ENV
beállítása, ennek kétféle módja van:
Az első módszer a bashEnvValue
tevékenység bemenetének használata, lásd egy példa a hivatkozásra:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Egy másik módszer, ha a BASH_ENV
változót környezeti változóként állítja be a folyamattevékenységhez a env
kulcsszóval, például:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Jegyzet
Vegye figyelembe, hogy ha a bashEnvValue
bemenet a Bash-tevékenységben van definiálva, a folyamattevékenység felülírja a BASH_ENV
változó értékét a bashEnvValue
bemenet értékével abban az esetben, ha 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 figyelmeztetést jelenít meg, és ehelyett source
a fájlt.
Példák
A env
paraméterrel megfeleltethet változókat, amely minden tevékenységhez, és a folyamat környezetébe leképezendő további elemek listája.
A titkos változók például nem lesznek automatikusan leképezve. Ha Foo
nevű titkos változóval rendelkezik, 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 egyenértékű a következő értékekkel:
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 bekapcsolva | Ügynök, DeploymentGroup |
Követelmények | Egyik sem |
képességek | Ez a tevékenység nem felel meg a feladat későbbi tevékenységeire vonatkozó követelményeknek. |
parancskorlátozások | Bármely |
Változók beállítása | Bármely |
Ügynök verziója | 2.115.0 vagy újabb |
Tevékenységkategória | Hasznosság |