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ımlarolarak adlandırılır, çalışmalaraderlemelerdenir, hizmet bağlantılarınahizmet uç noktalarıdenir, aşamalarortamlarolarak adlandırılır ve işleraşamalarolarak 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ş seçenekler

Bağımsız Değişken Description
Ç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.

Görev denetimi 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ı öneririz. 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 GitHubaçık kaynağıdı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.Debugtrue
  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şkenlerinitanımlama.

S: görev, YAML ardışık düzeninde dağıtım işinde yapıtları yayımlayamaz, ancak bunu aşağı akış ardışık düzeninde kullanmıyorum.

Y: dağıtım işleri, kaynak dallarına sahip değildir ve bu nedenle yapıtları yayımlamak için uygun değildir. Bunlar öncelikle yapıları kullanmak üzere tasarlanmıştır. Bir geçici çözüm, bu mantığı ayrı bir işte yalıtmak (dağıtım işleriniz bağımlılıklarınız ile birlikte).

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 gönderme görevi ş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. Bu değişken hakkında daha fazla bilgi için bkz. Node.js belgeleri . İşlem hattınızda değişken ayarlamaya ilişkin yönergeler için bkz. işlem hattındaki değişkenleri ayarlama .

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.