Megosztás a következőn keresztül:


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