Bash@3 - Attività Bash v3
Usare questa attività per eseguire uno script Bash in macOS, Linux o Windows.
Sintassi
# 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.
Input
targetType
- Digitare
string
. Valori consentiti: filePath
(Percorso file), inline
. Valore predefinito: filePath
.
Tipo di script di destinazione: percorso file o inline.
filePath
- Percorso script
string
. Obbligatorio quando targetType = filePath
.
Percorso dello script da eseguire. Questo deve essere un percorso completo o relativo a $(System.DefaultWorkingDirectory)
.
arguments
- Argomenti
string
. facoltativo. Usare quando targetType = filePath
.
Gli argomenti passati allo script della shell. Parametri ordinali o parametri denominati.
script
- Copione
string
. Obbligatorio quando targetType = inline
. Valore predefinito: # Write your commands here\n\necho 'Hello world'
.
Contenuto dello script.
script
- Copione
string
. Obbligatorio quando targetType = inline
. Valore predefinito: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
.
Contenuto dello script.
workingDirectory
- Directory di lavoro
string
.
Specifica la directory di lavoro in cui si vuole eseguire il comando. Se lo si lascia vuoto, la directory di lavoro è $(Build.SourcesDirectory).
failOnStderr
- Errore standard non riuscita
boolean
. Valore predefinito: false
.
Se si tratta di un valore true, questa attività avrà esito negativo se vengono scritti errori nel StandardError
flusso.
bashEnvValue
- Impostare il valore per la variabile di ambiente BASH_ENV
string
.
Se l'input viene specificato, il relativo valore viene espanso e usato come percorso di un file di avvio da eseguire prima di eseguire lo script. Se la variabile di ambiente è già stata definita, l'attività eseguirà l'override di questa variabile BASH_ENV
solo per l'attività corrente. Altre informazioni sui file di avvio di Bash.
noProfile
- Non caricare i file di avvio/inizializzazione del profilo
boolean
. Valore predefinito: true
.
Non caricare il file /etc/profile
di avvio a livello di sistema o uno dei file di inizializzazione personale.
noRc
- **Non leggere il ~/.bashrc' initialization file**<br>
valore booleano. Default value:
true'.
Opzioni di controllo delle attività
Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Nessuno.
Osservazioni
L'attività bash ha un collegamento in YAML: steps.bash.
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
L'attività Bash troverà la prima implementazione Bash nel sistema.
L'esecuzione which bash
in Linux/macOS o where bash
in Windows ti darà un'idea di quale selezionerà.
Informazioni sui file di avvio di Bash
L'attività Bash richiama Bash come shell non interattiva e non di accesso. Quando Bash viene avviato in modo non interattivo, per eseguire uno script della shell, Bash cerca la variabile BASH_ENV
nell'ambiente, ne sviluppa il valore se viene visualizzato e usa il valore come nome di un file per leggere ed eseguire.
Esistono diverse opzioni per definire la BASH_ENV
variabile di ambiente in una pipeline. In primo luogo, è possibile impostare la BASH_ENV
variabile di ambiente come variabile della pipeline. In questo caso, ogni istanza dell'attività Bash tenterà di distribuire il valore della BASH_ENV
variabile e userà il relativo valore.
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
Un'altra opzione consiste nel impostare BASH_ENV
per un'istanza specifica dell'attività Bash, esistono due modi in cui è possibile eseguire questa operazione:
Il primo modo consiste nell'usare l'input dell'attività bashEnvValue
, vedere un esempio di riferimento:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Un altro modo consiste nell'impostare la variabile come variabile di ambiente per l'attività BASH_ENV
della pipeline tramite la env
parola chiave, ad esempio:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Nota
Si noti che se l'input bashEnvValue
è definito nell'attività Bash, l'attività della pipeline eseguirà l'override del valore della variabile con il valore dell'input BASH_ENV
bashEnvValue
in un caso in cui la BASH_ENV
variabile di ambiente è già stata definita nell'ambiente.
Gli script Bash controllati nel repository devono essere impostati eseguibili (chmod +x
).
In caso contrario, l'attività visualizzerà un avviso e source
il file.
Esempio
È possibile eseguire il mapping nelle variabili usando il env
parametro comune in tutte le attività ed è un elenco di elementi aggiuntivi da eseguire nel mapping nell'ambiente del processo.
Ad esempio, le variabili segrete non vengono mappate automaticamente. Se si dispone di una variabile segreta denominata Foo
, è possibile eseguirne il mapping in come illustrato di seguito:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
In macOS o Linux l'esempio precedente equivale a:
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Requisiti
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica, versione classica |
Esecuzione in | Agente, DeploymentGroup |
Richieste | Nessuno |
Capabilities | Questa attività non soddisfa le richieste per le attività successive nel processo. |
Restrizioni dei comandi | Qualsiasi |
Variabili impostabili | Qualsiasi |
Versione agente | 2.115.0 o versione successiva |
Categoria attività | Utilità |