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 uç 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 |
|---|---|
filenameYol |
(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). |
argumentsBağımsız değişkenler |
(İsteğe bağlı) Betiğin geçeceği bağımsız değişkenleri belirtin. |
modifyEnvironmentOrtamı 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 |
failOnStandardErrorStandart 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:
|
|
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:
- İşlem hattınızı düzenleyin ve Değişkenler'i seçin
- Ad ve değere sahip yeni bir
System.Debugdeğişken eklemetrue - 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.