Bash@3 - Tugas Bash v3
Gunakan tugas ini untuk menjalankan skrip Bash di macOS, Linux, atau Windows.
Sintaks
# 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
- Jenis
string
. Nilai yang diizinkan: filePath
(Jalur File), inline
. Nilai default: filePath
.
Jenis skrip target: jalur file atau sebaris.
filePath
- Jalur Skrip
string
. Diperlukan saat targetType = filePath
.
Jalur skrip yang akan dijalankan. Ini harus merupakan jalur yang sepenuhnya memenuhi syarat atau relatif terhadap $(System.DefaultWorkingDirectory)
.
arguments
- Argumen
string
. Opsional. Gunakan saat targetType = filePath
.
Argumen diteruskan ke skrip shell. Baik parameter ordinal atau parameter bernama.
script
- Script
string
. Diperlukan saat targetType = inline
. Nilai default: # Write your commands here\n\necho 'Hello world'
.
Isi skrip.
script
- Script
string
. Diperlukan saat targetType = inline
. Nilai default: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
.
Isi skrip.
workingDirectory
- Direktori Kerja
string
.
Menentukan direktori kerja tempat Anda ingin menjalankan perintah. Jika Anda membiarkannya kosong, direktori kerja adalah $(Build.SourcesDirectory).
failOnStderr
- Gagal pada Kesalahan Standar
boolean
. Nilai default: false
.
Jika ini benar, tugas ini akan gagal jika ada kesalahan yang ditulis ke StandardError
aliran.
bashEnvValue
- Tetapkan nilai untuk variabel lingkungan BASH_ENV
string
.
Jika input ditentukan, nilainya diperluas dan digunakan sebagai jalur file startup untuk dijalankan sebelum menjalankan skrip. Jika variabel BASH_ENV
lingkungan telah ditentukan, tugas akan mengambil alih variabel ini hanya untuk tugas saat ini. Pelajari selengkapnya tentang File Startup Bash.
noProfile
- Jangan muat file startup/inisialisasi profil
boolean
. Nilai default: true
.
Jangan muat file /etc/profile
startup di seluruh sistem atau file inisialisasi pribadi apa pun.
noRc
- **Jangan baca ~/.bashrc' initialization file**<br>
boolean. Default value:
benar'.
Opsi kontrol tugas
Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.
Variabel output
Tidak ada.
Keterangan
Tugas bash memiliki pintasan di YAML: steps.bash.
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
Tugas Bash akan menemukan implementasi Bash pertama pada sistem Anda.
Berjalan which bash
di Linux/macOS atau where bash
di Windows akan memberi Anda gambaran tentang mana yang akan dipilihnya.
Info tentang file startup Bash
Tugas Bash memanggil Bash sebagai shell non-interaktif dan non-login. Ketika Bash dimulai secara non-interaktif, untuk menjalankan skrip shell, Bash mencari variabel BASH_ENV
di lingkungan, membuka nilainya jika muncul di sana, dan menggunakan nilai sebagai nama file untuk dibaca dan dijalankan.
Ada beberapa opsi untuk menentukan BASH_ENV
variabel lingkungan dalam alur. Pertama, dimungkinkan BASH_ENV
untuk mengatur variabel lingkungan sebagai variabel alur. Dalam hal ini, setiap instans tugas Bash akan mencoba untuk membuka nilai BASH_ENV
variabel dan menggunakan nilainya.
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
Opsi lain adalah mengatur BASH_ENV
untuk satu instans tertentu dari tugas Bash, ada dua cara bagaimana hal ini dapat dilakukan:
Cara pertama adalah menggunakan bashEnvValue
input tugas, lihat contoh referensi:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Cara lain adalah dengan mengatur BASH_ENV
variabel sebagai variabel lingkungan untuk tugas alur melalui env
kata kunci, misalnya:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Catatan
Perhatikan bahwa jika bashEnvValue
input didefinisikan dalam tugas Bash, tugas alur akan mengambil alih nilai BASH_ENV
variabel dengan nilai dari bashEnvValue
input dalam kasus ketika BASH_ENV
variabel lingkungan sudah ditentukan di lingkungan.
Skrip bash yang diperiksa ke dalam repositori harus diatur executable (chmod +x
).
Jika tidak, tugas akan menampilkan peringatan dan source
file sebagai gantinya.
Contoh
Anda dapat memetakan dalam variabel menggunakan env
parameter yang umum di semua tugas, dan merupakan daftar item tambahan untuk dipetakan ke lingkungan proses.
Misalnya, variabel rahasia tidak dipetakan secara otomatis. Jika Anda memiliki variabel rahasia yang disebut Foo
, Anda dapat memetakannya seperti ini:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Di macOS atau Linux, contoh di atas setara dengan:
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Persyaratan
Persyaratan | Deskripsi |
---|---|
Jenis alur | YAML, Build klasik, Rilis klasik |
Berjalan pada | Agen, DeploymentGroup |
Permintaan | Tidak ada |
Kemampuan | Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan. |
Pembatasan perintah | Apa pun |
Variabel yang dapat diatur | Apa pun |
Versi agen | 2.115.0 atau lebih tinggi |
Kategori tugas | Utilitas |