Azure Pipelines'da birden çok dal oluşturma
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines'ı kullanarak, projenizi deponuza yönelik her yeni işleme ve çekme isteğinde derlemek için tetikleyiciler oluşturabilirsiniz. Bu makalede, sürekli tümleştirmeyi etkinleştirmeyi ve deponuz için birden çok dal derlemesi ayarlamayı öğreneceksiniz.
Önkoşullar
Bir Azure DevOps kuruluşu ve bir proje. Henüz yapmadıysanız bir kuruluş veya proje oluşturun.
Çalışan bir işlem hattı. İşlem hattınızı oluşturmak için İlk işlem hattınızı oluşturma başlığındaki yönergeleri izleyin.
Konu dalı için CI tetikleyicisini etkinleştirme
Git ile çalışırken, kolaylaştırılmış bir iş akışını kolaylaştırmak için ana daldan geçici dallar oluşturmak yaygın bir uygulamadır. Genellikle konu veya özellik dalları olarak adlandırılan bu dallar, çalışmanızı yalıtma amacına hizmet eder. Bu iş akışında, belirli bir özelliğe veya hata düzeltmesine ayrılmış bir dal oluşturursunuz ve tamamlandıktan sonra, konu dalını silmeden önce kodu ana dala yeniden birleştirirsiniz.
YAML dosyanızda açıkça hiçbir tetikleyici belirtilmezse, herhangi bir dalda yapılan değişiklikler bir çalıştırmayı tetikler. Hem ana dal hem de herhangi bir özellik/dal için tetikleyici eklemek için YAML dosyanıza aşağıdaki kod parçacığını ekleyin. Bu, bu dallarda yapılan tüm değişikliklerin bir işlem hattı çalıştırmasını otomatik olarak tetiklemesini sağlar.
trigger:
- main
- feature/*
YAML derlemeleri henüz TFS'de kullanılamaz.
Derlenen dala göre derleme görevlerini özelleştirme
Ana dal genellikle ikili dosyalar gibi dağıtılabilir yapıtlar oluşturmakla sorumludur. Kısa süreli özellik dalları için bu yapıtları oluşturmak ve depolamak için zaman harcamanız gerekmez. Azure Pipelines'da, belirli görevlerin yalnızca ana dalda yürütülmesini sağlamak için özel koşullar uygulayabilirsiniz.
Ana dalınızdaki azure-pipelines.yml dosyasını düzenleyin ve istediğiniz göreve bir koşul ekleyin. Örneğin, aşağıdaki kod parçacığı işlem hattı yapıtlarını yayımlama görevine bir koşul ekler.
- task: PublishPipelineArtifact@1
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
YAML derlemeleri henüz TFS'de kullanılamaz.
Çekme isteklerini doğrulama
Dal koruması sağlamak için çekme isteklerini birleştirmeden önce başarılı derlemeleri zorunlu alan ilkelerden faydalanabilirsiniz. Azure Pipelines'ı kullanarak değişiklikleri ana dal gibi önemli dallarda birleştirmek için yeni bir başarılı derleme gereksinimini yapılandırma esnekliğine sahip olursunuz.
GitHub deposu
YAML dosyanızda çekme isteği tetikleyicilerini açıkça tanımlamazsanız, çekme isteği derlemeleri tüm dallar için varsayılan olarak etkinleştirilir. Ancak, çekme isteği derlemeleriniz için hedef dalları belirtme esnekliğine sahipsiniz. Örneğin, derlemeyi yalnızca özellik/ ile başlayan ana dalı ve dalları hedefleyen çekme istekleri için çalıştırmak istiyorsanız, aşağıdaki yapılandırmayı belirtebilirsiniz:
pr:
- main
- feature/*
YAML derlemeleri henüz TFS'de kullanılamaz.
Azure Repos deposu
Azure DevOps kuruluşunuzda oturum açın ve projenize gidin.
Depolar'ı ve ardından Dallar'ı seçin.
Dal adınızın sağ tarafındaki üç nokta simgesini ve ardından Dal ilkeleri'ni seçin.
Derleme doğrulama menüsünün altında + işaretini seçerek derleme ilkesi ekleyin.
Açılan menüden Derleme işlem hattınızı seçin ve Tetikleyici'nin otomatik olarak ayarlandığından ve İlke gereksiniminin gerekli olarak ayarlandığından emin olun.
İlkeyi açıklamak için açıklayıcı bir Görünen ad girin.
İlkeyi oluşturmak ve etkinleştirmek için Kaydet'i seçin. Değişikliklerinizi kaydetmek için ekranınızın sol üst kısmındaki Değişiklikleri kaydet'i seçin.
İlkeyi test etmek için Azure DevOps portalında Repos>Çekme istekleri'ne gidin.
Yeni çekme isteği'ni seçin, konu dalınızın ana dalınızla birleştirilecek şekilde ayarlandığından emin olun ve ardından Oluştur'u seçin.
Ekranınızda şu anda yürütülen ilkeyi görebilirsiniz.
Derlemeyi incelemek için ilke adını seçin. Derleme başarılı olursa çekme isteğiniz birleştirilir. Derleme başarısız olursa birleştirme engellenir.
Not
Azure Pipelines artık işlem hattı başına bekletme ilkelerini desteklememektedir. Proje düzeyinde saklama kurallarını kullanmanızı öneririz.