İşlem hatları için zamanlamaları yapılandırma

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.

Azure Pipelines, ardışık düzenin nasıl başlatıldığını yapılandırmak için çeşitli tetikleyici türleri sağlar.

  • Zamanlanan Tetikleyiciler, işlem hattınızı gecelik bir derleme gibi bir zamanlamaya göre başlatır. Bu makale, işlem hatlarınızı bir zamanlamaya göre çalıştırmak için zamanlanmış Tetikleyicileri kullanma hakkında rehberlik sağlar.
  • Olay tabanlı tetikleyiciler, bir çekme isteği oluşturma veya bir dala iletme gibi olaylara yanıt olarak işlem hattınızı başlatır. Olay tabanlı Tetikleyicileri kullanma hakkında daha fazla bilgi için bkz. Azure Pipelines Tetikleyiciler.

Zamanlanan ve olay tabanlı Tetikleyicileri işlem hatlarınız içinde birleştirebilirsiniz; Örneğin, her gönderim yapıldığında (CI tetikleyicisi), bir çekme isteği yapıldığında (PR tetikleyicisi) ve gecelik bir derleme (planlı tetikleyici) için derlemeyi doğrulayabilirsiniz. İşlem hattınızı yalnızca bir zamanlamaya göre derlemek ve olay tabanlı tetikleyicilere yanıt vermek istiyorsanız, işlem hattınızda başka bir tetikleyici etkinleştirilmemiş olduğundan emin olun. örneğin, bir GitHub deposundaki yaml işlem hatları, varsayılan olarak etkinleştirilen cı tetikleyicilerine ve PR tetikleyicilerine sahiptir. varsayılan tetikleyicileri devre dışı bırakma hakkında bilgi için bkz. Azure Pipelines tetikleyicileri ve depo türünü içeren bölüme gidin.

Zamanlanmış tetikleyiciler

Önemli

İşlem hattı ayarları kullanıcı arabirimi kullanılarak tanımlanan zamanlanmış Tetikleyiciler, YAML zamanlanan tetikleyicilere göre önceliklidir.

YAML işlem hattınızda hem YAML zamanlanmış Tetikleyiciler hem de UI tanımlı zamanlanmış Tetikleyiciler varsa, yalnızca UI tanımlı zamanlanmış Tetikleyiciler çalıştırılır. YAML işlem hattınızda YAML tanımlı zamanlanmış Tetikleyicileri çalıştırmak için, işlem hattı ayarları Kullanıcı arabiriminde tanımlanan zamanlanmış Tetikleyicileri kaldırmanız gerekir. Tüm UI zamanlanmış Tetikleyicileri kaldırıldıktan sonra, YAML zamanlanmış tetikleyicilerinin değerlendirilmeye başlaması için bir gönderme yapılmalıdır.

UI zamanlanmış tetikleyicilerini bir YAML işlem hattından silmek için bkz. UI ayarları YAML zamanlanmış tetikleyicilerini geçersiz kılar.

Zamanlanmış Tetikleyiciler, cron söz dizimikullanılarak tanımlanan bir zamanlamaya göre çalışacak bir işlem hattı yapılandırır.

schedules:
- cron: string # cron syntax defining a schedule
  displayName: string # friendly name given to a specific schedule
  branches:
    include: [ string ] # which branches the schedule applies to
    exclude: [ string ] # which branches to exclude from the schedule
  always: boolean # whether to always run the pipeline or only if there have been source code changes since the last successful scheduled run. The default is false.

YAML 'de zamanlanmış işlem hatları aşağıdaki kısıtlamalara sahiptir.

  • Cron zamanlamalarının saat dilimi UTC 'dir.
  • excludeİçin yan tümcesi olmadan bir yan tümce belirtirseniz includebranches , *include yan tümcesinde belirtmeye eşdeğerdir.
  • Zamanlamaları belirtirken işlem hattı değişkenlerini kullanamazsınız.
  • YAML dosyanızda şablonlarkullanıyorsanız, zamanlamaların şablon dosyalarında değil, ana YAML dosyasında belirtilmesi gerekir.

Zamanlanmış Tetikleyiciler için dal konuları

Zamanlanan Tetikleyiciler, aşağıdaki olaylar gerçekleştiğinde bir dal için değerlendirilir.

  • İşlem hattı oluşturulur.
  • Bir işlem hattının YAML dosyası, bir gönderiden ya da işlem hattı düzenleyicisinde düzenlenerek güncellenir.
  • Ardışık düzenin YAML dosya yolu, farklı bır YAML dosyasına başvuracak şekilde güncelleştirilir. Bu değişiklik yalnızca varsayılan dalı güncelleştirir ve bu nedenle yalnızca varsayılan dal için güncelleştirilmiş YAML dosyasında zamanlamalar seçer. Başka herhangi bir dal daha sonra varsayılan dalı birleşiyorsa, örneğin git pull origin main , yeni başvurulan YAML dosyasından zamanlanan Tetikleyiciler bu dal için değerlendirilir.
  • Yeni bir dal oluşturulur.

Bu olaylardan biri bir dalda oluştuktan sonra, bu dal, o dalda YAML dosyasında bulunan zamanlanmış tetikleyicilerle ilgili dal filtreleriyle eşleşiyorsa, o dal için planlanan tüm çalıştırmalar eklenir.

Önemli

Bir dal için zamanlanmış çalıştırmalar yalnızca dal, Bu belirli daldaYAML dosyasındaki zamanlanmış tetikleyicilerle ilgili dal filtreleriyle eşleşiyorsa eklenir.

Örneğin, aşağıdaki zamanlamaya sahip bir işlem hattı oluşturulur ve YAML dosyasının bu sürümü dala iade edilir main . Bu zamanlama, main dalı günlük olarak oluşturur.

# YAML file in the main branch
schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - main

Ardından, adlı yeni bir dal oluşturulur mainnew-feature . Yeni daldaki YAML dosyasından zamanlanan Tetikleyiciler okunurdur ve dal için eşleşme olmadığından new-feature , zamanlanmış derlemelerde değişiklik yapılmaz ve new-feature dal, zamanlanmış bir tetikleyici kullanılarak derlenmez.

new-featurebranches Listeye eklenirse ve bu değişiklik dala itilir new-feature , YAML dosyası okunurdur ve bu yana new-feature dallar listesinde olduğundan, dal için zamanlanmış bir derleme eklenir new-feature .

# YAML file in the new-feature-branch
schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - main
    - new-feature

Artık adlı bir dalın release oluşturulduğunu main ve release daldaki YAML dosyasındaki dal filtrelerine eklendiğini main , ancak yeni oluşturulan dala eklendiğine release dikkat edin.

# YAML file in the release branch
schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - main

# YAML file in the main branch with release added to the branches list
schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - main
    - release

Daldaki dal release filtrelerine eklendiğinden main , ancak daldaki dal filtrelerine eklendiğinden releaserelease , release dal bu zamanlamaya göre oluşturulmayacaktır. Yalnızca dal, featurefeature YAML dosyasındaki dal filtrelerine eklendiğinde, zamanlanan derleme Scheduler 'a eklenir.

Azure DevOps Server 2019 ' de yaml sözdiziminde zamanlanmış derlemeler desteklenmez. YAML derleme işlem hattınızı oluşturduktan sonra, zamanlanmış bir tetikleyici belirtmek için işlem hattı ayarlarını kullanabilirsiniz.

YAML işlem hatları TFS üzerinde kullanılamaz.

Örnekler

Aşağıdaki örnek iki zamanlamayı tanımlar:

schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - main
    - releases/*
    exclude:
    - releases/ancient/*
- cron: "0 12 * * 0"
  displayName: Weekly Sunday build
  branches:
    include:
    - releases/*
  always: true

Günlük gece yarısı oluşturanilk zamanlama, her gün gece yarısı bir işlem hattı çalıştırır, ancak bu, ve için son başarılı zamanlanan çalıştırmadan bu yana yalnızca kod değiştiyse,, ve tüm releases/* dalların dışında, releases/ancient/* .

İkinci zamanlama, haftalık Pazar derlemesi, tüm dallar için kodun en son çalıştırılmasından sonra değiştirilip değiştirilmediğini ve bu yana bir işlem hattı çalıştırır .

Not

Cron zamanlamalarının saat dilimi UTC 'dir, bu nedenle bu örneklerde gece yarısı derleme ve öğlen, UTC 'de gece yarısı ve öğleden sonra bu derleme.

Daha fazla örnek için bkz. Klasik düzenleyiciden geçiş.

Azure DevOps Server 2019 ' de yaml sözdiziminde zamanlanmış derlemeler desteklenmez. YAML derleme işlem hattınızı oluşturduktan sonra, zamanlanmış bir tetikleyici belirtmek için işlem hattı ayarlarını kullanabilirsiniz.

YAML işlem hatları TFS üzerinde kullanılamaz.

Cron sözdizimi

her Azure Pipelines zamanlanan tetikleyici cron ifadesi, beş girişi olan boşlukla ayrılmış bir ifadedir ve aşağıdaki sırayla yapılır.

mm HH DD MM DW
 \  \  \  \  \__ Days of week
  \  \  \  \____ Months
   \  \  \______ Days
    \  \________ Hours
     \__________ Minutes
Alan Kabul edilen değerler
Dakika 0 ila 59
Saat 0 ile 23 arasında
Gün 1 ila 31
Ay 1 ila 12, tam Ingilizce adları, Ingilizce adların ilk üç harfi
Haftanın günleri 0 ila 6 (Pazar ile başlayarak), tam Ingilizce adları, Ingilizce adların ilk üç harfi

Değerler aşağıdaki biçimlerde olabilir.

Biçimlendir Örnek Description
Liyorsa * Bu alanın tüm değerlerini eşleştirir
Tek değer 5 Bu alan için tek bir değer belirtir
Virgülle ayrılmış 3,5,6 Bu alan için birden çok değer belirtir. Birden çok biçim birleştirilebilir, örneğin 1,3-6
Aralıklar 1-3 Bu alan için dahil edilen değer aralığı
Aralıklar */4 veya 1-5/2 Bu alanla eşleştirilecek aralıklar (her 4. değer veya 2. adım aralığı ile 1-5 aralığı)
Örnek Cron ifadesi
Her Pazartesi, Çarşamba ve Cuma 'yı 6:00 PM 'de oluşturun 0 18 * * Mon,Wed,Fri, 0 18 * * 1,3,5 , veya 0 18 * * 1-5/2
6 saatte bir derleyin 0 0,6,12,18 * * *0 */6 * * *veya0 0-18/6 * * *
9:00 ile başlayarak 6 saatte bir derleyin 0 9,15,21 * * * veya 0 9-21/6 * * *

Desteklenen biçimler hakkında daha fazla bilgi için bkz. crontab ifadesi.

Azure DevOps Server 2019 ' de yaml sözdiziminde zamanlanmış derlemeler desteklenmez. YAML derleme işlem hattınızı oluşturduktan sonra, zamanlanmış bir tetikleyici belirtmek için işlem hattı ayarlarını kullanabilirsiniz.

YAML işlem hatları TFS üzerinde kullanılamaz.

Zamanlanan çalıştırmalar görünümü

İşlem hatlarınızın işlem hattı ayrıntıları sayfasındaki bağlam menüsünden zamanlanan çalıştırmalar ' ı seçerek yaklaşan zamanlanan derlemelerin önizlemesini görüntüleyebilirsiniz.

Zamanlanan çalıştırmalar menüsü

Zamanlanan tetiklerinizi oluşturduktan veya güncelleştirdikten sonra, bu görünümü kullanarak doğrulayabilirsiniz.

Zamanlanan çalıştırmalar

Bu örnek, aşağıdaki zamanlamaya göre zamanlanan çalıştırmaları görüntüler.

schedules:
- cron: "0 0 * * *"
  displayName: Daily midnight build
  branches:
    include:
    - main

zamanlanmış çalışan pencereleri, Azure DevOps portalına gitmek için kullanılan bilgisayarda yerel saat dilimine dönüştürülen zamanları görüntüler. Bu örnek, EST saat diliminde alınmış bir ekran görüntüsü görüntüler.

Azure DevOps Server 2019 ' de yaml sözdiziminde zamanlanmış derlemeler desteklenmez. YAML derleme işlem hattınızı oluşturduktan sonra, zamanlanmış bir tetikleyici belirtmek için işlem hattı ayarlarını kullanabilirsiniz.

YAML işlem hatları TFS üzerinde kullanılamaz.

Kod değişikliği olmadığında bile çalışıyor

Not

Zamanlanan derlemeler TFS 2018,1 ve daha düşük bir kod değişikliklerinden bağımsız olarak her zaman zamanlamaya göre çalışır.

Varsayılan olarak, en son başarılı zamanlanan çalıştırmadan bu yana kod değişikliği olmadığında işlem hattı zamanlandı olarak çalışmaz. Örneğin, her gece 9:00pm ' de çalışacak bir işlem hattı zamanlayacağınızı düşünün. Haftanın günleri sırasında, kodunuza çeşitli değişiklikler gönderirsiniz. İşlem hattı zamanlamaya göre çalışır. Hafta sonları sırasında kodunuzda herhangi bir değişiklik yapmayın. , Cuma günü zamanlanan çalıştırmadan bu yana kod değişikliği yoksa, işlem hattı hafta sonu sırasında zamanlandığı şekilde çalışmaz.

Kod değişikliği olmadığında bile bir işlem hattının çalışmasına zorlamak için always anahtar sözcüğünü kullanabilirsiniz.

schedules:
- cron: ...
  ...
  always: true

Bu Azure DevOps Server sürümünde YAML sözdiziminde zamanlanmış derlemeler desteklenmez. YAML derleme işlem hattınızı oluşturduktan sonra, zamanlanmış bir tetikleyici belirtmek için işlem hattı ayarlarını kullanabilirsiniz.

YAML işlem hatları TFS üzerinde kullanılamaz.

Zamanlanan çalışan sayısı için sınırlar

Bir işlem hattını çalıştırmak için ne sıklıkta zaman çizelgesi kullanabileceğinizi gösteren belirli sınırlar vardır. bu sınırlar, daha önce Microsoft tarafından barındırılan aracıların Azure Pipelines kaynaklarının kötüye kullanımını engellemek için eklenmiştir. Bu sınır, her hafta işlem hattı başına 1000 çalıştırmasından.

Klasik düzenleyiciden geçiş

Aşağıdaki örneklerde, zamanlamalarınızı klasik düzenleyiciden YAML 'ye nasıl geçirebileceğiniz gösterilmektedir.

Örnek: birden çok saat dilimindeki git deposunun gecelik derlemesi

Bu örnekte, klasik düzenleyici zamanlanan tetikleyicisinin iki girişi vardır ve aşağıdaki yapılar oluşturulur.

  • 3:00 (UTC + 5:30 saat dilimi) itibariyle her Pazartesi-Cuma, features/india/* dal filtresi ölçütlerini karşılayan dalları oluşturun

    Zamanlanan tetikleyici UTC + 5:30 saat dilimi

  • 3:00 (UTC-5:00 saat dilimi) itibariyle her Pazartesi-Cuma, features/nc/* dal filtresi ölçütlerini karşılayan dalları oluşturun

    Zamanlanan tetikleyici UTC-5:00 saat dilimi

Eşdeğer YAML zamanlanan tetikleyicisi:

schedules:
- cron: "30 21 * * Sun-Thu"
  displayName: M-F 3:00 AM (UTC + 5:30) India daily build
  branches:
    include:
    - /features/india/*
- cron: "0 8 * * Mon-Fri"
  displayName: M-F 3:00 AM (UTC - 5) NC daily build
  branches:
    include:
    - /features/nc/*

İlk zamanlamada, a-F 3:00 (UTC + 5:30) Hindistan günlük derleme, cron sözdizimi ( ) 30 21 * * Sun-Thu .

  • Dakika ve saat- 30 21 -Bu 21:30 UTC () ile eşlenir 9:30 PM UTC . Klasik düzenleyicide belirtilen saat dilimi UTC + 5:30olduğundan, YAML tetikleyicisi için belirtmek üzere istenen UTC zamanına ulaşmak için 3:00 istenen UTC saatine 5 saat ve 30 dakika çıkardık.
  • Bu zamanlama yalnızca ayın belirli günlerinde veya belirli bir ayda çalışmak üzere belirtilmediğinden, günler ve aylar joker karakter olarak belirtilir.
  • Haftanın günü- Sun-Thu -saat dilimi dönüştürmesi nedeniyle, derlemelerimizin UTC + 5:30 Hindistan saat diliminde 3:00 ' de çalışması için, bir önceki güne UTC saat içinde başlamasını belirtmemiz gerekir. Ayrıca, haftanın günlerini de veya olarak belirteceğiz 0-40,1,2,3,4 .

İkinci zamanlamada, a-F 3:00 (UTC-5) NC günlük derleme, cron sözdizimi .

  • Dakika ve saat- 0 8 -Bu ile eşlenir 8:00 AM UTC . Klasik düzenleyicideki belirtilen saat dilimi UTC-5:00olduğundan, YAML tetikleyicisi için belirtmek üzere istenen UTC zamanına ulaşmak için istenen UTC zamanına 5 saat sonra 3:00 bir değer eklememiz gerekiyor.
  • Bu zamanlama yalnızca ayın belirli günlerinde veya belirli bir ayda çalışmak üzere belirtilmediğinden, günler ve aylar joker karakter olarak belirtilir.
  • Haftanın günleri- Mon-Fri -saat dilimi dönüştürmelerimiz, istenen zamanlamamız için haftanın birden çok gününe yayılmadığından, buradan dönüştürme yapmak zorunda kalmazsınız. Ayrıca, haftanın günlerini de veya olarak belirteceğiz 1-51,2,3,4,5 .

Önemli

YAML zamanlanan UTC saat dilimleri, gün ışığından yararlanma saatine göre hesaba vermez.

İpucu

Haftanın 3 harfli gününü kullanırken ve Paz üzerinden birden çok günün bir yayılımını yaparken, Güneş haftanın ilk günü olarak düşünülmelidir, örneğin gece yarısı için en gece, Pazartesi ile Perşembe, cron söz dizimi 0 5 * * Sun,Thu-Sat

Örnek: farklı sıklıklarla gecelik derleme

Bu örnekte, klasik düzenleyici zamanlanan tetikleyicisinin iki girişi vardır ve aşağıdaki yapılar oluşturulur.

  • Pazartesi-Cuma günü 3:00, main ve releases/* dal filtresi ölçütlerine uyan dal oluşturma

    Zamanlanan tetikleyici sıklığı 1.

  • 3:00: UTC 'de her Pazar, releases/lastversion kaynak veya işlem hattı değiştirilmediyse bile dalı oluşturun

    Zamanlanan tetikleyici frekansı 2.

Eşdeğer YAML zamanlanan tetikleyicisi:

schedules:
- cron: "0 3 * * Mon-Fri"
  displayName: M-F 3:00 AM (UTC) daily build
  branches:
    include:
    - main
    - /releases/*
- cron: "0 3 * * Sun"
  displayName: Sunday 3:00 AM (UTC) weekly latest version build
  branches:
    include:
    - /releases/lastversion
  always: true

İlk zamanlamada, k-F 3:00 (UTC) günlük derleme, cron sözdizimi .

  • Dakika ve saat- 0 3 -Bu ile eşlenir 3:00 AM UTC . Klasik düzenleyicide belirtilen saat dilimi UTColduğundan, herhangi bir zaman dilimi dönüştürmesi yapmanıza gerek kalmaz.
  • Bu zamanlama yalnızca ayın belirli günlerinde veya belirli bir ayda çalışmak üzere belirtilmediğinden, günler ve aylar joker karakter olarak belirtilir.
  • Haftanın günleri; Mon-Fri saat dilimi dönüştürmesi olmadığından, haftanın günleri doğrudan klasik düzenleyici zamanlamasından eşlenir. Ayrıca haftanın günleri de belirtilebilir 1,2,3,4,5 .

İkinci zamanlamada, pazar 3:00 (UTC) haftalık en son sürüm derlemesiolan cron sözdizimi vardır .

  • Dakika ve saat- 0 3 -Bu ile eşlenir 3:00 AM UTC . Klasik düzenleyicide belirtilen saat dilimi UTColduğundan, herhangi bir zaman dilimi dönüştürmesi yapmanıza gerek kalmaz.
  • Bu zamanlama yalnızca ayın belirli günlerinde veya belirli bir ayda çalışmak üzere belirtilmediğinden, günler ve aylar joker karakter olarak belirtilir.
  • Haftanın günleri- Sun -saat dilimi dönüştürmelerimiz, istenen zamanlamamız için haftanın birden çok gününe yayılmadığından, buradan dönüştürme yapmak zorunda kalmazsınız. Ayrıca haftanın günleri de belirtilebilir 0 .
  • Ayrıca always: true , bu derleme kaynak kodun güncelleştirilip güncelleştirilmediğini çalıştırmak için zamanlandığından de belirttik.

SSS

YAML dosyasında bir zamanlama tanımlıyorum. Ancak çalıştırılmadı. Neler oldu?

  • Azure Pipelines işlem hattınızda zamanladığı bir sonraki birkaç çalıştırma olup olmadığını denetleyin. İşlem hattınızda Zamanlanmış çalıştırmalar eylemini seçerek bunları bulabilirsiniz. Liste, bir sonraki birkaç gün boyunca yalnızca yakında birkaç çalıştırma olduğunu gösterecek şekilde filtrelenir. Bu değer beklentilerinizi karşılamıyorsa, bu büyük olasılıkla cron zamanlamanızı yanlış yazmış olmanız ya da doğru dalda bir zamanlamanın tanımlı olması olabilir. Zamanlamaları nasıl yapılandıracağınızı anlamak için yukarıdaki konuyu okuyun. Cron sözdiziminizi yeniden değerlendirmeye ayırın. Cron zamanlamalarının tüm zamanları UTC 'de.

  • YAML dosyanıza küçük bir değişiklik yapın ve bu güncelleştirmeyi deponuza gönderin. YAML dosyasından zamanlamaları okumayla ilgili herhangi bir sorun varsa, şimdi düzeltilmelidir.

  • Kullanıcı arabiriminde tanımlanmış zamanlamalarınız varsa, YAML zamanlamalarınız kabul edilmez. İşlem hatlarınız için düzenleyiciye gidip Tetikleyiciler' i seçerek UI zamanlamalarınızın olmadığından emin olun.

  • Bir işlem hattı için planlayabilmeniz için zamanladığınız çalışma sayısında bir sınır vardır. Sınırlarhakkında daha fazla bilgi edinin.

  • kodunuzda herhangi bir değişiklik yoksa Azure Pipelines yeni çalıştırmalar başlatmayabilir. Bu davranışı nasıl geçersiz kılacağınızı öğrenin.

YAML zamanlamalarım düzgün çalışıyor. Ancak, şimdi çalışmayı durdurmuştur. Nasıl yaparım? hata ayıklaması yapılsın mı?

  • Belirtmediyseniz always:true , kodunuzda herhangi bir güncelleştirme yapılmadığı takdirde işlem hattı planlanmayacaktır. Herhangi bir kod değişikliği yapılıp yapılmayacağını ve zamanlamaları nasıl yapılandırdığınızabakın.

  • İşlem hattınızı kaç kez zamanlayabilmeniz gerektiği konusunda bir sınır vardır. Bu sınırları aşmadığını denetleyin.

  • Kullanıcının Kullanıcı arabiriminde ek zamanlamalar etkinleştirilip etkinleştirilmediğini denetleyin. İşlem hattının düzenleyicisini açın ve Tetikleyiciler' i seçin. Kullanıcı arabiriminde zamanlamalar tanımlarsa, YAML zamanlamalarınız kabul edilemez.

  • İşlem hattının duraklatıldığını veya devre dışı bırakılıp bırakılmadığını denetleyin. işlem hattınızı Ayarlar seçin.

  • Azure Pipelines işlem hattınızda zamanladığı bir sonraki birkaç çalıştırma olup olmadığını denetleyin. İşlem hattınızda Zamanlanmış çalıştırmalar eylemini seçerek bunları bulabilirsiniz. Beklediğiniz zamanlamaları görmüyorsanız, YAML dosyanızda küçük bir değişiklik yapın ve güncelleştirmeyi deponuza gönderin. Bu, zamanlamaları yeniden eşitlemeniz gerekir.

  • kodunuzu depolamak için GitHub kullanıyorsanız, yeni bir çalıştırma başlatmaya çalışırken GitHub tarafından kısıtlanmış Azure Pipelines olabilir. Yeni bir çalıştırmayı el ile başlatıp başlatamadıysanız emin olun.

Kodum değişmedi, ancak zamanlanan bir derleme tetiklendi. Neden?

  • Kod değişikliği olmasa bile zamanlanmış bir derlemeyi her zaman çalıştırmaya yönelik bir seçenek etkinleştirmiş olabilirsiniz. YAML dosyası kullanırsanız, YAML dosyasında zamanlamanın söz dizimini doğrulayın. Klasik işlem hatları kullanıyorsanız, bu seçeneği zamanlanan tetikleyicilere iade ettiğini doğrulayın.

  • İşlem hattının derleme işlem hattını veya bazı özelliğini güncelleştirdiyseniz. Bu, kaynak kodunuzu güncelleştirmemiş olsanız bile yeni bir çalıştırmanın zamanlanmasına neden olur. Klasik düzenleyiciyi kullanarak işlem hattının değişiklik geçmişini doğrulayın.

  • Depoya bağlanmak için kullanılan hizmet bağlantısını güncelleştirmiş olabilirsiniz. Bu, kaynak kodunuzu güncelleştirmemiş olsanız bile yeni bir çalıştırmanın zamanlanmasına neden olur.

  • Azure Pipelines önce kodunuzda güncelleştirme olup olmadığını denetler. Azure Pipelines depoya ulaşamadıysa veya bu bilgileri alamazsanız, bu, yine de zamanlanmış bir çalıştırma başlatır ya da depoya ulaşamadığını göstermek için başarısız bir çalıştırma oluşturur. Bir çalıştırmanın oluşturulduğunu ve hemen başarısız olduğunu fark ederseniz, bunun nedeni büyük olasılıkla budur. Azure Pipelines, deponuza ulaşamadığından emin olmak için bir kukla derleme.

Zamanlanmış çalıştırma panelinde planlanan çalışmayı görüyorum. Ancak, bu anda çalışmaz. Neden?

  • Zamanlanan çalıştırmalar panelinde tüm olası zamanlamalar gösterilir. Ancak, koda gerçek güncelleştirmeler yapmadığınız takdirde bu durum aslında çalışmayabilir. Zamanlamayı her zaman çalışacak şekilde zorlamak için, YAML ardışık düzeninde Always özelliğini ayarlamış olduğunuzdan emin olun veya her zaman klasik bir işlem hattında Çalıştır seçeneğini kontrol edin.

YAML ardışık düzeninde tanımlanan zamanlamalar bir dal için çalışır, ancak diğeri değildir. Bu Nasıl yaparım? düzeltilsin mi?

Zamanlamalar YAML dosyalarında tanımlanır ve bu dosyalar dallarla ilişkilendirilir. Belirli bir dal için bir işlem hattının zamanlanmasını istiyorsanız, features/Xfeatures/X YAML dosyasının bu dosyada bir cron zamanlaması tanımlandığından ve zamanlama için doğru dal eklemeleri bulunduğundan emin olun. Daldaki YAML dosyası features/X Bu örnekte aşağıdaki gibi olmalıdır:

schedules: 
- cron: "0 12 * * 0"   # replace with your schedule 
  branches: 
    include: 
    - features/X  

Daha fazla bilgi için bkz. Zamanlanmış Tetikleyiciler Için dal konuları.