Kabuk betiği görevi

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015

Bash kullanarak bir kabuk betiğini çalıştırmak için bu görevi kullanın.

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde, derleme ve yayın işlem hatları tanımlar olarak adlandırılır, çalışmalara derlemeler denir, hizmet bağlantılarına hizmet uç noktaları denir, aşamalar ortamlar olarak adlandırılır ve işler aşamalar olarak adlandırılır.

Erişim

dak

YAML kod parçacığı

- task: ShellScript@2
  inputs:
    scriptPath:
    #args: '' # Optional
    #disableAutoCwd: false # Optional
    #cwd: '' # Optional
    #failOnStandardError: false

Bağımsız değişkenler

Bağımsız Değişken Description
Betik yolu Depo kökünden, çalıştırmak istediğiniz kabuk betik dosyasına göreli yol.
Bağımsız değişkenler Betiğe geçirmek istediğiniz bağımsız değişkenler.
Gelişmiş
Çalışma dizini Betiği çalıştırmak istediğiniz çalışma dizini. Boş bırakırsanız, betiğin bulunduğu klasör olur.
Standart hatada başarısız oldu Standarla akışına herhangi bir hata yazılmışsa, bu görevin başarısız olmasını istiyorsanız öğesini seçin.
Denetim seçenekleri

Örnek

Deponuzu kök dizininde oluşturun test.sh . Satır sonları doğru olması için bu dosyayı bir Linux ortamından (örneğin, gerçek bir Linux makinesi veya Linux için Windows alt sistemi) oluşturmanız önerilir. Ayrıca, chmod +x test.sh işlemeden önce unutmayın.

#!/bin/bash
echo "Hello World"
echo "AGENT_WORKFOLDER is $AGENT_WORKFOLDER"
echo "AGENT_WORKFOLDER contents:"
ls -1 $AGENT_WORKFOLDER
echo "AGENT_BUILDDIRECTORY is $AGENT_BUILDDIRECTORY"
echo "AGENT_BUILDDIRECTORY contents:"
ls -1 $AGENT_BUILDDIRECTORY
echo "SYSTEM_HOSTTYPE is $SYSTEM_HOSTTYPE"
echo "Over and out."

Derleme işlem hattının Build sekmesinde şu görevi ekleyin:


Yardımcı program: kabuk betiği

test.bat çalıştırın.

  • Betik yolu: test.sh

Bu örnek ayrıca yayın işlem hatları ile de kullanılabilir.

Açık kaynak

Bu görev GitHub 'daaçık kaynaktır. Geribildirim ve katılımlar hoş geldiniz.

SSS

Bash betikleri hakkında nereden bilgi edinebilirim?

Başlamak için Yeni başlayanlar/BashScripting .

Harika Bash , daha ayrıntılı.

Nasıl yaparım?, sonraki betikler ve görevler tarafından okunabilmesi için bir değişken ayarladı musunuz?

Bir betikte derleme değişkenleri tanımlama hakkında daha fazla bilgi için bkz. bir betikteki derleme değişkenlerinizi tanımlama ve değiştirme.

Bir betikte yayın değişkenlerini tanımlama hakkında daha fazla bilgi edinmek için bkz. bir betikte yayın değişkenlerinizi tanımlama ve değiştirme.

S: yapılarımı yayımlarken sorun yaşıyorum. Ayrıntılı günlükleri nasıl görüntüleyebilirim?

Ardışık düzen için ayrıntılı günlükleri etkinleştirmek için:

  1. İşlem hattınızı düzenleyin ve değişkenleri seçin
  2. Ad ve değere sahip yeni bir değişken ekleyin System.Debug``true
  3. Kaydet

S: hangi değişkenleri kullanabilir?

A: $(Build.SourcesDirectory) ve işlem $(Agent.BuildDirectory) hattınızda kullanabileceğiniz değişkenlerin yalnızca birkaçını vardır. Değişkenler, ifadeler veya betikler olarak kullanılabilir.

Farklı değişken türleri hakkında bilgi edinmek için bkz. değişkenleri, önceden tanımlanmış değişkenlerive Klasik yayın ve yapıt değişkenlerini tanımlama.

Bir aracıya ihtiyacım var mı?

Yapınızı veya sürümünüzü çalıştırmak için en az bir aracınız olması gerekir.

Sorun yaşıyorum. Sorunları nasıl giderebilirim?

Bkz. derleme ve yayın sorunlarını giderme.

Varsayılan bir aracı havuzu seçemiyorum ve derleme veya yayınımı sıraya alamıyorum. Bu Nasıl yaparım? düzeltilsin mi?

Bkz. Aracı havuzları.

NuGet Push görevlerim şu hata ile başarısız oluyor: "hata: yerel veren sertifikası alınamıyor". Bunu nasıl giderebilirim?

Bu, güvenilen kök sertifika eklenerek düzeltilebilir. NODE_EXTRA_CA_CERTS=fileOrtam değişkenini yapı aracıya ekleyebilir veya NODE.EXTRA.CA.CERTS=file görev değişkenini işlem hattınızda ekleyebilirsiniz. Daha fazla ayrıntı için bkz. ortam değişkenleri .

TFS 'yi şirket içinde kullanıyorum ve bu özelliklerden bazılarını görmüyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca Azure Pipelines kullanılabilir ve şirket içinde henüz kullanılabilir değil. TFS 'nin en son sürümüne yükselttiysenizbazı özellikler şirket içinde kullanılabilir.