İngilizce dilinde oku

Aracılığıyla paylaş


Bash@3 - Bash v3 görevi

MacOS, Linux veya Windows üzerinde bash betiği çalıştırmak için bu görevi kullanın.

Not

Bir Windows konağından bu, bash'i WSL varsayılan dağıtımından çalıştırır. WSL yüklenmelidir ve aracının çalıştığı kullanıcının bir dağıtım kurulumu olmalıdır. WSL, Microsoft tarafından barındırılan Windows aracı görüntülerine yüklenir. Daha fazla bilgi için bkz. Microsoft tarafından barındırılan aracıları - Yazılım.

Sözdizimi

YAML
# 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.
YAML
# 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.
YAML
# 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.

Giriş

targetType - Tür
string. İzin verilen değerler: filePath (Dosya Yolu), inline. Varsayılan değer: filePath.

Hedefler betik türü: dosya yolu veya satır içi.


filePath - Betik Yolu
string. targetType = filePathgerekir.

Yürütülecek betiğin yolu. Bu, tam yol veya $(System.DefaultWorkingDirectory)göreli olmalıdır.


bağımsız değişkenleriarguments -
string. Opsiyonel. targetType = filePatholduğunda kullanın.

Kabuk betiğine geçirilen bağımsız değişkenler. Sıralı parametreler veya adlandırılmış parametreler.


script - Betik
string. targetType = inlinegerekir. Varsayılan değer: # Write your commands here\n\necho 'Hello world'.

Betiğin içeriği.


script - Betik
string. targetType = inlinegerekir. Varsayılan değer: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script.

Betiğin içeriği.


çalışma diziniworkingDirectory -
string.

komutunu çalıştırmak istediğiniz çalışma dizinini belirtir. Boş bırakırsanız, çalışma dizini $(Build.SourcesDirectory) olur.


standart hatabaşarısız failOnStderr -
boolean. Varsayılan değer: false.

Bu doğruysa, StandardError akışına herhangi bir hata yazılırsa bu görev başarısız olur.


bashEnvValue - BASH_ENV ortam değişkeni için değer ayarlama
string.

Giriş belirtilirse, değeri genişletilir ve betiği çalıştırmadan önce yürütülecek bir başlangıç dosyasının yolu olarak kullanılır. ortam değişkeni BASH_ENV zaten tanımlanmışsa, görev bu değişkeni yalnızca geçerli görev için geçersiz kılar. bash başlangıç dosyaları hakkında daha fazla bilgi edinin.


noProfile - Profil başlatma/başlatma dosyalarını yüklemeyin
boolean. Varsayılan değer: true.

Sistem genelinde başlangıç dosyasını /etc/profile veya kişisel başlatma dosyalarından herhangi birini yüklemeyin.


noRc - **~/.bashrc' initialization file**<br> boole. Default value: true'yu okumayın.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Hiç kimse.

Açıklamalar

Bash görevinin YAML'de bir kısayolu vardır: steps.bash.

yml
steps:
- bash: string # Required as first property. An inline script. 
  ## Other task inputs

Bash görevi sisteminizdeki ilk Bash uygulamasını bulur. Linux/macOS üzerinde which bash veya Windows'da where bash çalıştırmak size hangisini seçeceği hakkında bir fikir verir.

Bash başlangıç dosyaları hakkında bilgi

Bash görevi Bash'i etkileşimli olmayan, oturum açma işlemi olmayan bir kabuk olarak çağırır. Bash etkileşimli olmayan bir şekilde başlatıldığında, kabuk betiğini çalıştırmak için Bash ortamda BASH_ENV değişkenini arar, orada görünürse değerini ortaya çıkartır ve değeri okumak ve yürütmek için dosyanın adı olarak kullanır.

bir işlem hattında BASH_ENV ortam değişkenini tanımlamak için çeşitli seçenekler vardır. İlk olarak, BASH_ENV ortam değişkenini bir işlem hattı değişkeni olarak ayarlamak mümkündür. Bu durumda, Bash görevinin her örneği BASH_ENV değişkeninin değerini açmaya ve değerini kullanmaya çalışır.

YAML
variables:
  BASH_ENV: "~/.profile"

steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: env

Bir diğer seçenek de Bash görevinin belirli bir örneği için BASH_ENV ayarlamaktır. Bunun iki yolu vardır:

İlk yol, bashEnvValue görev girişini kullanmaktır. Başvuru örneği:

YAML
steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: env
    bashEnvValue: '~/.profile'

Başka bir yol, BASH_ENV değişkenini env anahtar sözcüğü aracılığıyla işlem hattı görevi için ortam değişkeni olarak ayarlamaktır, örneğin:

YAML
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: env
  env:
    BASH_ENV: '~/.profile'

Not

bash görevinde bashEnvValue girişi tanımlanmışsa, işlem hattı görevinin BASH_ENV ortam değişkeninin ortamda zaten tanımlandığı bir durumda bashEnvValue girişindeki değerle BASH_ENV değişkeninin değerini geçersiz kılacağını unutmayın.

Depoda denetlenen Bash betikleri yürütülebilir olarak ayarlanmalıdır (chmod +x). Aksi takdirde, görev bir uyarı gösterir ve bunun yerine dosyayı source.

Örnekler

tüm görevlerde ortakolan ve işlemin ortamına eşlenen ek öğelerin listesi olan env parametresini kullanarak değişkenleri eşleyebilirsiniz. Örneğin, gizli dizi değişkenleri otomatik olarak eşlenmez. Fooadlı bir gizli dizi değişkeniniz varsa, bunu şu şekilde eşleyebilirsiniz:

YAML
steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: echo $MYSECRET
  env:
    MYSECRET: $(Foo)

macOS veya Linux'ta yukarıdaki örnek şunlara eşdeğerdir:

YAML
steps:
- script: echo $MYSECRET
  env:
    MYSECRET: $(Foo)

Gereksinim -leri

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Agent, DeploymentGroup
Talepleri Hiç kimse
Özellikleri Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi
Ayarlanabilir değişkenleri Herhangi
Aracı sürümü 2.115.0 veya üzeri
Görev kategorisi Yarar