Bash@3 - Tâche Bash v3
Utilisez cette tâche pour exécuter un script Bash sur macOS, Linux ou 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.
Entrées
targetType
- Type
string
. Valeurs autorisées : filePath
(Chemin du fichier), inline
. Valeur par défaut : filePath
.
Type de script cible : chemin de fichier ou inline.
filePath
- Chemin d’accès du script
string
. Nécessaire lorsque targetType = filePath
.
Chemin d’accès du script à exécuter. Il doit s’agir d’un chemin complet ou relatif à $(System.DefaultWorkingDirectory)
.
arguments
- Arguments
string
. facultatif. Utilisez quand targetType = filePath
.
Arguments passés au script d’interpréteur de commandes. Paramètres ordinaux ou paramètres nommés.
script
- Script
string
. Nécessaire lorsque targetType = inline
. Valeur par défaut : # Write your commands here\n\necho 'Hello world'
.
Contenu du script.
script
- Script
string
. Nécessaire lorsque targetType = inline
. Valeur par défaut : # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
.
Contenu du script.
workingDirectory
- Répertoire de travail
string
.
Spécifie le répertoire de travail dans lequel vous souhaitez exécuter la commande. Si vous le laissez vide, le répertoire de travail est $(Build.SourcesDirectory).
failOnStderr
- Échec en cas d’erreur standard
boolean
. Valeur par défaut : false
.
Si cela est vrai, cette tâche échoue si des erreurs sont écrites dans le StandardError
flux.
bashEnvValue
- Définir la valeur de BASH_ENV variable d’environnement
string
.
Si l’entrée est spécifiée, sa valeur est développée et utilisée comme chemin d’accès d’un fichier de démarrage à exécuter avant d’exécuter le script. Si la variable BASH_ENV
d’environnement a déjà été définie, la tâche remplace cette variable uniquement pour la tâche actuelle. En savoir plus sur les fichiers de démarrage Bash.
noProfile
- Ne pas charger les fichiers de démarrage/d’initialisation du profil
boolean
. Valeur par défaut : true
.
Ne chargez pas le fichier /etc/profile
de démarrage à l’échelle du système ou les fichiers d’initialisation personnels.
noRc
- **Ne lisez pas la ~/.bashrc' initialization file**<br>
valeur booléenne. Default value:
true'.
Options de contrôle de la tâche
Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.
Variables de sortie
Aucun.
Notes
La tâche bash a un raccourci dans YAML : steps.bash.
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
La tâche Bash trouvera la première implémentation Bash sur votre système.
L’exécution de which bash
sur Linux/macOS ou de where bash
sur Windows vous donne une idée de celle qu’elle sélectionne.
Informations sur les fichiers de démarrage Bash
La tâche Bash appelle le Bash en tant qu’interpréteur de commandes non interactif et sans connexion. Lorsque Bash est démarré de manière non interactive, pour exécuter un script d’interpréteur de commandes, le Bash recherche la variable BASH_ENV
dans l’environnement, déploie sa valeur si elle y apparaît et utilise la valeur comme nom d’un fichier à lire et exécuter.
Il existe plusieurs options pour définir la variable d’environnement BASH_ENV
dans un pipeline. Tout d’abord, il est possible de définir la variable d’environnement BASH_ENV
en tant que variable de pipeline. Dans ce cas, chaque instance de la tâche Bash tentera de déployer la valeur de la variable BASH_ENV
et d’utiliser sa valeur.
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
Une autre option consiste à définir BASH_ENV
pour une instance particulière de la tâche Bash, ce qui peut se faire de deux manières :
La première consiste à utiliser l’entrée de tâche bashEnvValue
, voir un exemple de référence :
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Une autre manière consiste à définir la variable BASH_ENV
en tant que variable d’environnement pour la tâche de pipeline via le mot clé env
, par exemple :
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Notes
Notez que si l’entrée bashEnvValue
est définie dans la tâche Bash, la tâche de pipeline remplace la valeur de la variable BASH_ENV
par la valeur de l’entrée bashEnvValue
dans un cas où la variable d’environnement BASH_ENV
a déjà été définie dans l’environnement.
Les scripts Bash archivés dans le référentiel doivent être définis comme exécutables (chmod +x
).
Sinon, la tâche affiche un avertissement et source
le fichier à la place.
Exemples
Vous pouvez mapper des variables à l’aide du env
paramètre qui est commun à toutes les tâches et qui est une liste d’éléments supplémentaires à mapper dans l’environnement du processus.
Par exemple, les variables secrètes ne sont pas mappées automatiquement. Si votre variable secrète est appelée Foo
, vous pouvez la mapper comme suit :
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Sur macOS ou Linux, l’exemple ci-dessus équivaut à :
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Configuration requise
Condition requise | Description |
---|---|
Types de pipelines | YAML, build classique, version classique |
S’exécute sur | Agent, DeploymentGroup |
Demandes | None |
Capabilities | Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail. |
Restrictions de commande | Quelconque |
Variables paramétrables | Quelconque |
Version de l’agent | 2.115.0 ou version ultérieure |
Catégorie de la tâche | Utilitaire |