Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Bu makalede Azure Pipelines işlem hattı çalıştırmalarındaki etkinliklerin sırası açıklanmaktadır. Çalıştırma, işlem hattının tek bir yürütmesini temsil eder. Hem sürekli tümleştirme (CI) hem de sürekli teslim (CD) işlem hatları çalıştırmalardan oluşur. Bir çalıştırma sırasında Azure Pipelines işlem hattını işler ve aracılar bir veya daha fazla işi, adımı ve görevi işler.
Her çalıştırma için Azure Pipelines:
- Veri hattını işler
- İşleri çalıştırmak için bir veya daha fazla aracı talep eder
- İşleri aracılara devrederek sonuçları toplar
Her iş için bir aracı:
- İş için hazırlanır
- Görevdeki her adımı çalıştırır
- Sonuçları raporlar
İşler başarılı, başarısız, iptal edilebilir veya tamamlanamaz. Bu sonuçları anlamak sorunları gidermenize yardımcı olur.
Aşağıdaki bölümlerde işlem hattı çalıştırma işlemi ayrıntılı olarak açıklanmaktadır.
İşlem hattı işleme
Bir çalıştırmanın işlem hattını işlemek için önce Azure Pipelines:
- Şablonları genişletir ve şablon ifadelerini değerlendirir.
- Çalıştırılacak ilk aşamayı seçmek için aşama düzeyinde bağımlılıkları değerlendirir.
Çalıştırmayı seçtiği her aşama için Azure Pipelines:
- Yetkilendirmenin çalıştırılması için tüm iş kaynaklarını toplar ve doğrular.
- Çalıştırılacak ilk işi seçmek için iş düzeyinde bağımlılıkları değerlendirir.
Azure Pipelines, çalıştırmak için seçtiği her iş için aşağıdaki etkinlikleri yapar:
- YAML
strategy: matrixveyastrategy: parallelçoklu yapılandırmaları birden çok çalışma zamanı işine genişletir. - İşin çalıştırılmaya uygun olup olmadığına karar vermek için koşulları değerlendirir.
- Uygun olan her iş için bir aracı talep eder.
Çalışma zamanı işleri tamamlandıkça Azure Pipelines, çalıştırılmaya uygun yeni işler olup olmadığını denetler. Benzer şekilde, aşamalar tamamlandıktan sonra Azure Pipelines başka aşama olup olmadığını denetler.
Değişkenler
İşleme sırasını anlamak, şablon parametrelerinde belirli değişkenleri neden kullanamamanızı açıklar. İlk şablon genişletme adımı yalnızca YAML dosyasının metni üzerinde çalışır. Çalışma zamanı değişkenleri bu adım sırasında henüz mevcut değildir. Bu adımdan sonra şablon parametreleri zaten çözümlenir.
İşlem hattı bir aşama çalışmaya başlamadan önce kaynakları yetkilendirdiğinden, hizmet bağlantısını veya ortam adlarını çözümlemek için değişkenleri kullanamazsınız. Aşama ve iş düzeyi değişkenleri henüz kullanılamıyor. Değişken grupları kendileri yetkilendirmeye tabi bir kaynaktır, bu nedenle kaynak yetkilendirmesi denetlenirken verileri kullanılamaz.
İşlem hattı kaynak tanımına açıkça dahil edilen işlem hattı düzeyinde değişkenleri kullanabilirsiniz. Daha fazla bilgi için bkz . Önceden tanımlanmış değişkenler olarak işlem hattı kaynak meta verileri.
Aracılar
Azure Pipelines, bir işi çalıştırmak için havuzdan bir aracı ister. Bu işlem Microsoft tarafından barındırılan ve kendi kendine barındırılan aracı havuzları için farklılık gösterir.
Not
Sunucu işleri , Azure Pipelines sunucusunun kendisinde çalıştığından havuz kullanmaz.
Paralel işler
İlk olarak, Azure Pipelines kuruluşunuzun paralel işlerini denetler. Hizmet, tüm aracılardaki tüm çalışan işleri ekler ve bunu verilen veya satın alınan paralel iş sayısıyla karşılaştırır.
Kullanılabilir paralel yuva yoksa, işin boşaltmak için bir yuvada beklemesi gerekir. Paralel yuva kullanılabilir olduğunda, iş uygun aracı türüne yönlendirir.
Microsoft tarafından barındırılan aracılar
Microsoft tarafından barındırılan havuz kavramsal olarak bir genel makine havuzudur, ancak fiziksel olarak coğrafyaya ve işletim sistemi türüne göre birden çok havuza ayrılmıştır. İstenen YAML vmImage veya Klasik düzenleyici havuzu adına bağlı olarak Azure Pipelines bir aracı seçer.
Microsoft havuzundaki tüm aracılar, hiç işlem hattı çalıştırmamış yeni, yeni sanal makinelerdir (VM'ler). İş tamamlandığında aracı VM atılır.
Şirket içinde barındırılan aracılar
Paralel yuva kullanılabilir olduğunda, Azure Pipelines uyumlu bir aracı için şirket içinde barındırılan havuzu inceler. Şirket içinde barındırılan aracılar, belirli yazılımların yüklendiğini veya ayarların yapılandırıldığını gösteren özellikler sunar. İşlem hattı, işi çalıştırmak için gereken özellikler olan taleplere sahiptir.
Azure Pipelines, özellikleri işlem hattının taleplerine uyan ücretsiz bir aracı bulamazsa, iş beklemeye devam eder. Havuzda yetenekleri taleplerle eşleşen aracı yoksa, iş başarısız olur.
Şirket içinde barındırılan aracılar genellikle çalıştırmadan çalıştırılacak şekilde yeniden kullanılır. Şirket içinde barındırılan aracılar için, bir işlem hattı işinin önbellekleri ısıtma veya yerel depoda zaten kullanılabilir olan işlemelerin çoğu gibi yan etkileri olabilir.
İş hazırlığı
Bir aracı bir işi kabul ettikten sonra aşağıdaki hazırlık çalışmalarını yapar:
- İşi çalıştırmak için gereken tüm görevleri indirir ve gelecekte kullanmak üzere önbelleğe alır.
- Çalıştırmada kullanılan kaynak kodu, yapıtları ve çıkışları tutmak için diskte çalışma alanı oluşturur.
Adım yürütme
Aracı, adımları sıralı olarak çalıştırır. Bir adım başlamadan önce, önceki tüm adımların tamamlanması veya atlanması gerekir.
Adımlar Node.js, PowerShell veya diğer betikler olabilecek görevler tarafından uygulanır. Görev sistemi, girişleri ve çıkışları yedekleme betiklerine yönlendirir. Görevler ayrıca sistem yolunu değiştirme ve yeni işlem hattı değişkenleri oluşturma gibi yaygın hizmetler sağlar.
Her adım kendi işleminde çalıştırılır ve ortamı önceki adımlardan yalıtılır. Bu adım başına işlem modeli nedeniyle, ortam değişkenleri adımlar arasında korunmaz. Ancak, görevler ve betikler aracıyla geri iletişim kurmak için günlüğe kaydetme komutları adlı bir mekanizma kullanabilir. Bir görev veya betik standart çıkışa bir günlük komutu yazdığında, aracı komutun istediği eylemi uygular.
Yeni işlem hattı değişkenleri oluşturmak için bir günlük komutu kullanabilirsiniz. İşlem hattı değişkenleri, bir sonraki adımda otomatik olarak ortam değişkenlerine dönüştürülür. Betik, aşağıdaki gibi bir değere myVar sahip yeni bir değişken myValue ayarlayabilir:
echo '##vso[task.setVariable variable=myVar]myValue'
Write-Host "##vso[task.setVariable variable=myVar]myValue"
Sonuç raporlama ve toplama
Her adım uyarıları, hataları ve hataları bildirebilir. Adım, görevleri başarılı olarak işaretleyerek işlem hattı özet sayfasındaki hataları ve uyarıları bildirir veya görevi başarısız olarak işaretleyerek hataları bildirir. Bir komut kullanarak açıkça hata bildiriyorsa veya betiği sıfır olmayan bir ##vso çıkış koduyla sonlandırırsa adım başarısız olur.
Adımlar çalıştırıldığında aracı, konsolun canlı akışını görebilmeniz için çıkış satırlarını sürekli olarak Azure Pipelines'a gönderir. Her adımın sonunda, adımdaki çıkışın tamamı günlük dosyası olarak karşıya yüklenir. İşlem hattı tamamlandıktan sonra günlüğü indirebilirsiniz.
Aracı, işlem hattı tamamlandıktan sonra da kullanılabilen yapıtları ve test sonuçlarını karşıya yükleyebilir.
Durum ve koşullar
Aracı, her adımın başarısını veya başarısızlığını izler. Adımlar başarılı olduğunda veya sorunlarla başarısız olduğunda işin durumu güncelleştirilir. İş her zaman adımlarının en kötü sonucunu yansıtır. Bir adım başarısız olursa, iş de başarısız olur.
Aracı bir adımı çalıştırmadan önce, adımın çalıştırılıp çalıştırılmayacağını belirlemek için bu adımın koşulunu denetler. Varsayılan olarak, bir adım yalnızca işin durumu başarılı olduğunda veya sorunlarla başarılı olduğunda çalışır, ancak diğer koşulları ayarlayabilirsiniz.
Birçok iş, başka ne olursa olsun çalıştırılması gereken temizleme adımlarına sahiptir, böylece bir koşul always()belirtebilirler. Temizleme veya diğer adımlar da yalnızca iptalde çalışacak şekilde ayarlanabilir.
Başarılı bir temizleme adımı işin başarısız olmasına neden olmaz. İşler başarısız olduktan sonra başarıya geri dönemez.
Zaman aşımları ve kesilen bağlantılar
Her işin zaman aşımı vardır. İş belirtilen sürede tamamlanmazsa, sunucu işi iptal eder. Sunucu, aracıya durması için sinyal göndermeye çalışır ve işi iptal edildi olarak işaretler. Aracı tarafında iptal, kalan tüm adımları iptal etmek ve kalan sonuçları karşıya yüklemek anlamına gelir.
İşler, iptal çalışmalarının tamamlanması için iptal zaman aşımı adı verilen bir yetkisiz kullanım süresine sahiptir. ayrıca iptalde bile çalıştırılacak adımları işaretleyebilirsiniz. bir iş zaman aşımının yanı sıra iptal zaman aşımından sonra, aracı işin durdurulduğunu bildirmezse, sunucu işi hata olarak işaretler.
Aracının konak makinesi güç kaybederse veya kapalıysa ya da bir ağ hatası varsa aracı makineleri sunucuya yanıt vermeyi durdurabilir. Aracı, bu koşulları algılamaya yardımcı olmak için sunucuya hala çalıştığını bildirmek için dakikada bir sinyal iletisi gönderir.
Sunucu ardışık beş dakika boyunca sinyal almazsa aracının geri gelmeyeceğini varsayar. İş bir hata olarak işaretlenir ve kullanıcıya işlem hattını yeniden denemesi gerektiğini bildirir.
Azure DevOps CLI aracılığıyla çalıştırmaları yönetme
Azure DevOps CLI'da az pipelines çalıştırmalarını kullanarak işlem hattı çalıştırmalarını yönetebilirsiniz. Başlamak için bkz . Azure DevOps CLI ile çalışmaya başlama. Tam bir komut başvurusu için bkz . Azure DevOps CLI komut başvurusu.
Aşağıdaki örneklerde projenizdeki işlem hattı çalıştırmalarını listelemek, belirli bir çalıştırmayla ilgili ayrıntıları görüntülemek ve işlem hattı çalıştırmaları için etiketleri yönetmek için Azure DevOps CLI'nin nasıl kullanılacağı gösterilmektedir.
Önkoşullar
- Azure DevOps CLI uzantısının yüklü olduğu Azure CLI, Azure DevOps CLI'yi kullanmaya başlama bölümünde açıklandığı gibi. kullanarak
az loginAzure'da oturum açın. - kullanılarak
az devops configure --defaults organization=<YourOrganizationURL>ayarlanan varsayılan kuruluş.
İşlem hattı çalıştırmalarını listeleme
az pipelines runs list komutuyla projenizdeki işlem hattı çalıştırmalarını listeleyin .
Bu komut, tamamlandı durumu ve başarılı sonucunu içeren ilk üç işlem hattı çalıştırmasını listeler ve sonucu tablo biçiminde gösterir.
az pipelines runs list --status completed --result succeeded --top 3 --output table
Run ID Number Status Result Pipeline ID Pipeline Name Source Branch Queued Time Reason
-------- ---------- --------- --------- ------------- -------------------------- --------------- -------------------------- ------
125 20200124.1 completed succeeded 12 Githubname.pipelines-java master 2020-01-23 18:56:10.067588 manual
123 20200123.2 completed succeeded 12 Githubname.pipelines-java master 2020-01-23 11:55:56.633450 manual
122 20200123.1 completed succeeded 12 Githubname.pipelines-java master 2020-01-23 11:48:05.574742 manual
İşlem hattı çalıştırma ayrıntılarını göster
az pipelines runs show komutuyla projenizdeki bir işlem hattı çalıştırmasının ayrıntılarını gösterin .
Bu komut , 123 kimliğine sahip işlem hattı çalıştırmasının ayrıntılarını gösterir, sonuçları tablo biçiminde görüntüler ve web tarayıcınızı Azure Pipelines derleme sonuçları sayfasına açar.
az pipelines runs show --id 122 --open --output table
Run ID Number Status Result Pipeline ID Pipeline Name Source Branch Queued Time Reason
-------- ---------- --------- --------- ------------- -------------------------- --------------- -------------------------- --------
123 20200123.2 completed succeeded 12 Githubname.pipelines-java master 2020-01-23 11:55:56.633450 manual
İşlem hattı çalıştırmasına etiket ekleme
az pipelines runs tag add komutuyla projenizdeki bir işlem hattı çalıştırmasına etiket ekleyin .
Aşağıdaki komut, YAML etiketini 123 kimliğiyle işlem hattı çalıştırmasına ekler ve sonucu JSON biçiminde döndürür.
az pipelines runs tag add --run-id 123 --tags YAML --output json
[
"YAML"
]
İşlem hattı çalıştırma etiketlerini listeleme
az pipelines runs tag list komutuyla projenizdeki bir işlem hattı çalıştırmasının etiketlerini listeleyin . Aşağıdaki komut, 123 kimliğine sahip işlem hattı çalıştırmasının etiketlerini listeler ve sonucu tablo biçiminde döndürür.
az pipelines runs tag list --run-id 123 --output table
Tags
------
YAML
İşlem hattı çalıştırmasından etiketi silme
az pipelines runs tag delete komutunu kullanarak projenizdeki bir işlem hattı çalışmasından etiket silin. Bu komut, 123 kimliğine sahip işlem hattı çalıştırmasından YAML etiketini siler.
az pipelines runs tag delete --run-id 123 --tag YAML
Azure DevOps MCP Sunucusu ile çalıştırmaları yönetme
Azure DevOps MCP sunucusuyla Copilot'ta işlem hattı çalıştırmalarını yönetebilirsiniz. Başlamak için bkz. Azure DevOps MCP Server ile yapay zeka yardımlarını etkinleştirme.
İşlem hattı çalıştırmalarını listeleme
Belirli bir işlem hattı için işlem hattı yürütmelerini listeleyin.
Show the three most recent runs for the Tailspin pipeline.
Bu istem, her çalıştırmayı görüntülemek için bir bağlantı içeren son üç işlem hattı çalıştırmasını listeler.
İşlem hattı çalıştırma ayrıntılarını göster
Belirli bir derlemenin durumunu al.
Show the status and details for build 12345678.9.
Bu istem bir derlemenin durumunu, sonucunu, başlangıç/bitiş saatini ve özetini döndürür.
Yeni bir işlem hattı çalıştırmasını başlatın
İşlem hattının yeni bir çalıştırması başlatın.
Start the Tailspin pipeline and provide a direct link to the run, including the project name in the URL.
Bu istem işlem hattınızı başlatır ve işlem hattı çalıştırmasına bir bağlantı sağlar.