Batch Betiği görevi

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

Bu görevi kullanarak bir Windows .bat veya .cmd betiği çalıştırın. İsteğe bağlı olarak, ortam değişkenlerini kalıcı olarak değiştirmesine izin ver.

Not

Bu görev, kapsayıcılarla Windows değildir. Bir Windows kapsayıcısı üzerinde toplu iş betiği çalıştırmanız gerekirse, bunun yerine komut satırı görevini kullanın.

Birden çok platformu destekleme hakkında bilgi için bkz. platformlar arası betik.

Not

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

YAML kod parçacığı

# Batch script
# Run a Windows command or batch script and optionally allow it to change the environment
- task: BatchScript@1
  inputs:
    filename: 
    #arguments: # Optional
    #modifyEnvironment: False # Optional
    #workingFolder: # Optional
    #failOnStandardError: false # Optional

Bağımsız değişkenler

Bağımsız Değişken Description
filename
Yol
(Gerekli) Yürütülecek cmd veya vuruş betiği yolu. Tam yol veya varsayılan çalışma diziniyle göreli olmalıdır (çalışma dizininin bu görev için belirtilebilir 'workingFolder'dan farklı olduğunu unutmayın).
arguments
Bağımsız değişkenler
(İsteğe bağlı) Betiğin geçeceği bağımsız değişkenleri belirtin.
modifyEnvironment
Ortamı değiştirme
(İsteğe bağlı) Ortam değişkeni değişikliklerinin sonraki görevleri etkileyeceğini belirler
Varsayılan değer: False
workingFolder
Çalışma klasörü
(İsteğe bağlı) Betik çalıştır olduğunda geçerli çalışma dizini. Varsayılan değer, aracının varsayılan çalışma dizinidir
failOnStandardError
Standart Hatada Başarısız Oldu
(İsteğe bağlı) Bu doğruysa, StandardError akışına herhangi bir hata yazılırsa bu görev başarısız olur.
Varsayılan değer: false

Örnek

Create test.bat at the root of your repo:

@echo off
echo Hello World from %AGENT_NAME%.
echo My ID is %AGENT_ID%.
echo AGENT_WORKFOLDER contents:
@dir %AGENT_WORKFOLDER%
echo AGENT_BUILDDIRECTORY contents:
@dir %AGENT_BUILDDIRECTORY%
echo BUILD_SOURCESDIRECTORY contents:
@dir %BUILD_SOURCESDIRECTORY%
echo Over and out.

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


Yardımcı Program: Batch Betiği

test.bat.

  • Yolu: test.bat

Açık kaynak

Bu görev, üzerinde açık kaynak GitHub. Geri bildirim ve katkılar açıktır.

SSS

Komutlar hakkında Windows öğrenebilirim?

Windows CMD komut satırı A-Z Dizini

Nasıl yaparım? betikler ve görevler tarafından okunsun diye bir değişken ayarlamak mı gerekir?

Bir betikte derleme değişkenlerini tanımlama hakkında daha fazla bilgi edinmek için bkz. Betikte 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. Betikte yayın değişkenlerinizi tanımlama ve değiştirme

S: Yapıtlarımı yayımlamayla ilgili sorunm var. Ayrıntılı günlükleri nasıl görüntüleyebilirsiniz?

İşlem hattınız için ayrıntılı günlükleri etkinleştirmek için:

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

S: Hangi değişkenler kullanılabilir?

A: $(Build.SourcesDirectory)$(Agent.BuildDirectory) ve, işlem hattında kullanabileceğiniz değişkenlerden yalnızca birkaçıdır. Değişkenler ifade veya betik olarak kullanılabilir.

Farklı değişken türleri hakkındabilgi edinmek için bkz.Değişkenleri tanımlama, önceden tanımlanmış değişkenler ve Klasik sürüm ve yapıt değişkenleri.

S: Görev yaml işlem hattında dağıtım iş yerinde yapıtları yayımlamama olanak sağlar, ancak bunu aşağı akış işlem hattında kullana değilim.

A: Dağıtım işleri kaynak dalların bağlamına sahip değildir ve bu nedenle yapıtları yayımlamak için uygun değildir. Bunlar öncelikli olarak yapıtları tüketmek üzere tasarlanmıştır. Geçici çözüm, bu mantığı ayrı bir iş (dağıtım işlerinize bağımlılıklar ile) halinde yalıtmaktır.

Bir aracıya ihtiyacım var mı?

Derlemenizi veya yayınını çalıştırmak için en az bir aracı gerekir.

Sorunlarımız var. Bunları nasıl gidererim?

Bkz. Derleme ve Sürüm Sorunlarını Giderme.

Varsayılan aracı havuzunu seçe değilim ve derlememi veya sürümümi kuyruğa ala bilmiyorum. Nasıl yaparım? düzeltebilir misiniz?

Bkz. Aracı havuzları.

My NuGet görev şu hatayla başarısız oluyor: "Hata: yerel sertifikayı verdiremiyor". Bunu nasıl düzeltebilirim?

Bu, güvenilen bir kök sertifika ekerek düzeltilmiştir. Ortam değişkenini derleme NODE_EXTRA_CA_CERTS=file aracınıza ekleyebilir veya görev değişkenini işlem NODE.EXTRA.CA.CERTS=file hattınıza ebilirsiniz. Bu Node.js hakkında daha fazla bilgi için bkz.Node.js belgeleri. İşlem hattınıza değişken ayarlama hakkında yönergeler için bkz. İşlem hattında değişken ayarlama.

Şirket içi TFS'yi kullanıyor ve bu özelliklerden bazılarını göremiyorum. Neden olmasın?

Bu özelliklerden bazıları yalnızca şirket Azure Pipelines şirket içinde kullanılamaz. TFS'nin en son sürümüne yükseltme yaptıysanız bazı özellikler şirket içinde kullanılabilir.