Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018-TFS 2015
Dal ilkeleri ekiplerin önemli geliştirme dallarını korumalarına yardımcı olur. İlkeler, takımınızın kod kalitesini ve değişim yönetimi standartlarını zorlar. Bu makalede, dal ilkelerinin nasıl ayarlanacağı ve yönetileceği açıklanmaktadır. Tüm depo ve dal ilkelerine ve ayarlarına genel bakış için bkz. Git deposu ayarları ve ilkeleri.
Gerekli ilkeleri yapılandırılmış bir dal silinemez ve tüm değişiklikler için çekme istekleri (PR 'ler) gerekiyor.
Önkoşullar
dal ilkelerini ayarlamak için, Project yöneticileri güvenlik grubunun bir üyesi olmanız veya depo düzeyi düzenleme ilkeleri izinlerinizin olması gerekir. Daha fazla bilgi için bkz. Git deposu Izinlerini ayarlama.
dal ilkelerini ayarlamak için, Project yöneticileri güvenlik grubunun bir üyesi olmanız veya depo düzeyi düzenleme ilkeleri izinlerinizin olması gerekir. Daha fazla bilgi için bkz. Git deposu Izinlerini ayarlama.
dal ilkelerini yönetmek için, web portalındaki dallar sayfasını açmak üzere Reposdallar ' ı seçin.
ayrıca, Project Ayarlardepoilkeleridal ilkeleri şube adı >ile dal ilkesi ayarlarına de ulaşabilirsiniz.
İlkeleri olan dallar bir ilke simgesi görüntüler. Doğrudan dalın ilke ayarlarına gitmek için simgeyi seçebilirsiniz.
Dal ilkelerini ayarlamak için, yönetmek istediğiniz dalı bulun. Sağ üst köşedeki şube adı arama kutusunda dala gözatıp veya dalınızı arama yapabilirsiniz.
Dalın yanındaki diğer seçenekler simgesini seçin ve ardından bağlam menüsünden dal ilkeleri ' ni seçin.
Dalınızı sayfada bulun. Listeye gözatıp sağ üst köşedeki tüm dalları ara kutusunu kullanarak dalınızı arayabilirsiniz.
... Düğmesini seçin. Bağlam menüsünden dal ilkeleri ' ni seçin.
Dal ayarları sayfasında ilkeleri yapılandırın. Her ilke türü için açıklamalar ve yönergeler için aşağıdaki bölümlere bakın.
İlkeleri ilkeler sayfasında yapılandırın. Her ilke türünün açıklamaları için aşağıdaki bölümlere bakın. Yeni ilke yapılandırmanızı uygulamak için Değişiklikleri Kaydet ' i seçin.
bir dala veya depoya yönelik ilkeleri listelemek veya göstermek için Azure DevOps clı kullanabilirsiniz.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parametreler
Parametre
Açıklama
branch
Sonuçları tam eşleşme ile filtrelemek için dal adı. --repository-idDal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org, organization
Azure DevOps kuruluş URL 'si. Varsayılan organizasyonu kullanarak yapılandırabilirsiniz az devops configure -d organization=<ORG_URL> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir . Örnek: .
project, p
Projenin adı veya KIMLIĞI. Varsayılan projeyi kullanarak yapılandırabilirsiniz az devops configure -d project=<NAME_OR_ID> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir .
query-examples
Önerilen JMESPath dizesi. Sonuçları görmek için sorgulardan birini kopyalayabilir ve --query çift tırnak işaretleri içindeki parametre öğesinden sonra yapıştırabilirsiniz. Önerilerin bu anahtar sözcüklere dayanmasını sağlamak için bir veya daha fazla konumsal anahtar sözcük ekleyebilirsiniz.
repository-id
Sonuçlara tam eşleşme ile filtre uygulanacak deponun KIMLIĞI. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
Örnek
Aşağıdaki komut main fabrikam Repository, ID dalında geçerli olan tüm dal ilkelerini döndürür d28cd374-e7f0-4b1f-ad60-f349f155d47c . Öğesini çalıştırarak depo KIMLIĞINI alabilirsiniz az repos list .
Bu örnek, aşağıdaki varsayılan yapılandırmayı kullanır: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parametreler
Parametre
Açıklama
id, policy-id
İlkenin KIMLIĞI. Gerekli.
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org, organization
Azure DevOps kuruluş URL 'si. Varsayılan organizasyonu kullanarak yapılandırabilirsiniz az devops configure -d organization=<ORG_URL> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir . Örnek: .
project, p
Projenin adı veya KIMLIĞI. Varsayılan projeyi kullanarak yapılandırabilirsiniz az devops configure -d project=<NAME_OR_ID> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir .
query-examples
Önerilen JMESPath dizesi. Sonuçları görmek için sorgulardan birini kopyalayabilir ve --query çift tırnak işaretleri içindeki parametre öğesinden sonra yapıştırabilirsiniz. Önerilerin bu anahtar sözcüklere dayanmasını sağlamak için bir veya daha fazla konumsal anahtar sözcük ekleyebilirsiniz.
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
Azure DevOps clı komutları Azure DevOps Server 2019 ve önceki sürümlerde desteklenmez.
Minimum gözden geçiren sayısı gerektir
Kod İncelemeleri yazılım geliştirme projeleri için önemlidir. Ekiplerin PR 'ler gözden geçirmesini ve onaylamasını sağlamak için, en az sayıda gözden geçiren arasından onay gerekebilir. Temel ilke, belirli sayıda gözden geçirenlerin kodu, ret olmadan onaylamasını gerektirir.
İlkeyi ayarlamak için, dal ilkelerialtında, en az sayıda gözden geçiren olması gerekirseçeneğini belirleyin. Gerekli gözden geçirenler sayısını girin ve aşağıdaki seçeneklerden birini belirleyin:
Bir PR 'nin oluşturucusunun onayını oylamasına izin vermek için isteyicileri kendi değişikliklerini onaylamalarına Izin ver ' i seçin. Aksi takdirde, Oluşturucu çekme isteği için yine de kabul edebilir, ancak oylarının en az sayıda gözden geçiren sayısına doğru sayılmaz.
En son iletici, görevleri birbirinden ayırmayı zorlamak için kendi değişikliklerini onaylamayı yasakla ' yı seçin. Varsayılan olarak, kaynak dalda anında İlerlerken izni olan herkes hem işleme ekleyebilir hem de PR onayını oylar. Bu seçeneğin belirli olması, kendi değişikliklerini normalde onaylasalar bile en son iticinin oyu saymayılacağı anlamına gelir.
Bazı gözden geçirenler, bazı gözden geçirenler onaya karşı oy verse bile pr tamamlamaya izin vermek için beklemeyi veya reddetmeyi oylasa bile Tamamlamaya izin ver'i seçin. En az gözden geçirenin yine de onaylaması gerekir.
Yeni değişiklikler ne zaman itilir? altında:
Son kaynak dal değişikliği için en az bir onay oyu gerektirmek için son yinelemede en az bir onay gerektir'i seçin.
Tüm onay oylarını kaldırmak için Tüm onay oylarını sıfırla (reddedilen veya beklemek için oyları sıfırlamaz) öğesini seçin, ancak kaynak dal her değişirken reddedilen veya beklemek için oyları tut'a tıklayın.
Onaylanacak, reddedecek veya bekleyecek oylar da dahil olmak üzere kaynak dalda her değişiklik olduğunda tüm gözden geçiren oylarını kaldırmak için Tüm kod gözden geçireni oylarını sıfırla'yı seçin.
İstekte bulunanlar kendi değişikliklerini onaylıyorsa, çekme isteğini oluşturan kişi kendi çekme isteklerinde Onayla'ya oy vermeye devam ediyor ancak en az gözden geçiren sayısına yönelik oylarısayılmaz.
Herhangi bir gözden geçiren değişiklikleri reddederse, bazı gözden geçirenler beklemeyi veya reddetmeyi oylasa bile Tamamlanmaya izin ver'i seçmedikçe çekme isteği tamamlanır.
Kaynak dala yeni değişiklikler geldiğinde kod gözden geçiren oylarını sıfırlayabilirsiniz. Yeni değişiklikler olduğunda Kodu gözden geçiren oylarını sıfırla'yı seçin.
Diğer tüm ilkeler geçerse, gerekli gözden geçiren sayısı tarafından onaylandıktan sonra oluşturucu pr'i tamamlar.
Aşağı oylara izin ver. Kabul edilen değerler: false , true . Gerekli .
blocking
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true . Gerekli .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. Gerekli .
creator-vote-counts
Oluşturanın oyu sayma. Kabul edilen değerler: false , true . Gerekli .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true . Gerekli .
minimum-approver-count
Gereken en düşük onaylayan sayısı. Örneğin: 2. Gerekli .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Gerekli .
reset-on-source-push
Değişiklikler kaynakta olduğunda oyları sıfırlayın. Kabul edilen değerler: false , true . Gerekli .
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
Örnek
Aşağıdaki örnek, Fabrikam deposunun dalda çekme istekleri için gereken minimum onay 2main sayısını olarak ayarlar. İlke, reddedilen oylara izin verir. Başka bir ifadeyle, bazı gözden geçirenler onaylamama oyu kullansa bile çekme isteklerinin tamamlanması için en düşük sayı oyu gerekir. Kaynak dala yapılan itişler oyları sıfırlamaz. İlke, çekme isteği oluşturucularının kendi çekme isteklerini onaylamalarına da olanak sağlar.
Bu örnek varsayılan yapılandırmasını az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" kullanır.
az repos policy approver-count create --allow-downvotes true --blocking true --branch main --creator-vote-counts true --enabled true --minimum-approver-count 2 --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --reset-on-source-push false --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
27 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Aşağı oylara izin ver. Kabul edilen değerler: false , true .
blocking
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
creator-vote-counts
Oluşturanın oyu sayma. Kabul edilen değerler: false , true .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true .
minimum-approver-count
Gereken en düşük onaylayan sayısı. Örneğin: 2.
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Değişiklikler kaynağa gönderildiğinde oyları sıfırlayın. Kabul edilen değerler: false , true .
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
Azure DevOps clı komutları Azure DevOps Server 2019 ve önceki sürümlerde desteklenmez.
Bağlantılı iş öğelerini denetle
Çalışma öğesi yönetimi izlemeiçin PR 'ler ve iş öğeleri arasında ilişkilendirmeler gerektirebilir. İş öğelerini bağlama, değişiklikler için daha fazla bağlam sağlar ve güncelleştirmelerin iş öğesi izleme sürecinize gitmesini sağlar.
İlkeyi ayarlamak için, dal ilkelerialtında, bağlantılı Iş öğeleri için denetimiAçıkolarak ayarlayın. Bu ayar, çekme isteği için iş öğelerinin bir PR ile bağlanmasını gerektirir. Bağlı iş öğesi olmadığında, ancak çekme isteğinin tamamlanmasına izin vermek için ayarı uyar ' ı Isteğe bağlı yapın.
Bir dal veya depo için iş öğesi bağlama ilkeleri oluşturmak ve güncelleştirmek için Azure CLI az depoları Policy Work-Item-link ' i kullanabilirsiniz.
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false , true . Gerekli.
branch
Sonuçları tam eşleşme ile filtrelemek için dal adı. --repository-idDal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. Gerekli.
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true . Gerekli.
repository-id
Sonuçlara tam eşleşme ile filtre uygulanacak deponun KIMLIĞI. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenini kullanın. Değer ise exact , ilke bağımsız değişkenle tam olarak eşleşen bir dalda geçerlidir --branch . Değer ise prefix , ilke bağımsız değişkende önekiyle eşleşen tüm dal klasörlerinde geçerlidir --branch . Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org
Azure DevOps kuruluş URL 'si. Varsayılan organizasyonu kullanarak yapılandırabilirsiniz az devops configure -d organization=<ORG_URL> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir . Örnek: .
project, p
Projenin adı veya KIMLIĞI. Varsayılan projeyi kullanarak yapılandırabilirsiniz az devops configure -d project=<NAME_OR_ID> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir .
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false , true .
branch
Sonuçları tam eşleşme ile filtrelemek için dal adı. --repository-idDal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenini kullanın. Değer ise exact , ilke bağımsız değişkenle tam olarak eşleşen bir dalda geçerlidir --branch . Değer ise prefix , ilke bağımsız değişkende önekiyle eşleşen tüm dal klasörlerinde geçerlidir --branch . Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true .
minimum-approver-count
Gereken en az onaylayan sayısı. Örneğin: 2.
org
Azure DevOps kuruluş URL 'si. Varsayılan organizasyonu kullanarak yapılandırabilirsiniz az devops configure -d organization=<ORG_URL> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir . Örnek: .
project, p
Projenin adı veya KIMLIĞI. Varsayılan projeyi kullanarak yapılandırabilirsiniz az devops configure -d project=<NAME_OR_ID> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir .
repository-id
Sonuçlara tam eşleşme ile filtre uygulanacak deponun KIMLIĞI. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
Örnek
Aşağıdaki örnek, 3main fabrikam deposunun DALıNıN ilke kimliğini etkin ancak isteğe bağlı olarak güncelleştirir. Örnek, varsayılan yapılandırmayı kullanır az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps clı komutları Azure DevOps Server 2019 ve önceki sürümlerde desteklenmez.
Açıklama çözümlemesini denetle
Açıklama çözümlemesini denetle ilkesi, tüm PR yorumlarının çözümlenip çözümlenmediğini denetler.
Açıklama çözümlemesi Için denetim ayarını Açıkolarak ayarlayarak, dalınız için bir açıklama çözümleme ilkesi yapılandırın. Ardından, ilkeyi gerekli veya isteğe bağlıhale getirmek istediğinizi seçin.
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true . Gerekli .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. Gerekli .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true . Gerekli .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Gerekli .
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true .
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
Örnek
Aşağıdaki örnek, Fabrikam deposunun dalı içinde açıklama 6 çözümleme ilkesi kimliğini main engelleyerek günceller. Çekme isteklerinin birleştirilemeden önce açıklamalar çözümlenmiş olması gerekir. Bu örnek varsayılan yapılandırmasını az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" kullanır.
az repos policy comment-required update --id 6 --blocking true --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- -------------------- ------------- ------------ ------------------------------------ ---------------
6 Comment requirements True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Azure DevOps CLI komutları, Azure DevOps Server 2019 ve önceki sürümlerde desteklenmiyor.
Birleştirme türlerini sınırlama
Azure Repos birçok birleştirme stratejisi vardır ve varsayılan olarak bunların hepsine izin verilir. Pr tamamlama için birleştirme stratejisi zorlayarak tutarlı bir dal geçmişini koruyebilirsiniz.
Birleştirme türlerini sınırla'nınOn olarak ayarlayın. Bu ayar, hangi birleştirme türlerinin sizin için uygun olduğunu sınırlar.
Temel birleştirme (ileri doğru değil) hedefte, ana dalları hedef ve kaynak dalları olan bir birleştirme işlemesi oluşturur.
Kenardan birleştirme, kaynak daldan yapılan değişikliklerle hedef dalda tek bir işleme ile doğrusal bir geçmiş oluşturur. Birleştirmeyi ve dal geçmişini nasıl etkilediği hakkında daha fazla bilgi öğrenin.
Yeniden temel ve ileri doğru, kaynak işlemeleri birleştirme işlemesi olmayan hedef dalda yeniden oynatarak doğrusal bir geçmiş oluşturur.
Birleştirme işlemesi ile yeniden temel, kaynak işlemeleri hedefe yeniden oynatarak bir birleştirme işlemesi oluşturur.
Birleştirme stratejisi Azure DevOps ayarlamak ve güncelleştirmek için cli az repos policy merge-strategy Azure DevOps kullanabilirsiniz.
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true . Gerekli .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. Gerekli .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true . Gerekli .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Gerekli .
allow-no-fast-forward
Hızlı iletmeye gerek olmayan temel birleştirme. Satır içi olmayan geçmişi geliştirme sırasında olduğu gibi korur. Kabul edilen değerler: false , true .
allow-rebase
Yeniden temellendirme ve ileri sarma. Birleştirme yürütmesi olmadan kaynak dalı işlemelerini hedefe kaydederek doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false , true .
allow-rebase-merge
Birleştirme işlemesiyle yeniden temellendir. Kaynak dalı işlemesini hedefe kaydederek ve sonra bir birleştirme işlemesinin oluşturulmasıyla yarı doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false , true .
allow-squash
Squash birleştirme. Kaynak dal yürütmelerinin hedef dalda tek bir yeni işleme halinde yoğunlaşarak doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false , true .
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenini kullanın. Değer ise exact , ilke bağımsız değişkenle tam olarak eşleşen bir dalda geçerlidir --branch . Değer ise prefix , ilke bağımsız değişkende önekiyle eşleşen tüm dal klasörlerinde geçerlidir --branch . Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org
Azure DevOps kuruluş URL 'si. Varsayılan organizasyonu kullanarak yapılandırabilirsiniz az devops configure -d organization=<ORG_URL> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir . Örnek: .
project, p
Projenin adı veya KIMLIĞI. Varsayılan projeyi kullanarak yapılandırabilirsiniz az devops configure -d project=<NAME_OR_ID> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir .
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
use-squash-merge
Her zaman sıkıştırarak birleştirme. Bu seçenek, diğer birleştirme türleri için kullanılamaz. Kabul edilen değerler: false , true .
Note: kullanım dışı ve gelecek bir sürümde kaldırılacak. Bunun yerine --allow-squash kullanın.
Örnek
Aşağıdaki örnek, main sıkıştırarak birleştirmeye izin vermek için fabrikam deposunun dalındaki çekme istekleri için gerekli bir birleştirme stratejisi belirler. Bu örnek varsayılan yapılandırmayı kullanır az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" .
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
İleri sarma olmadan temel birleştirme. Yalnızca geliştirme sırasında olduğu gibi, doğrusal olmayan geçmişi korur. Kabul edilen değerler: false , true .
allow-rebase
Yeniden temellendirme ve ileri sarma. Birleştirme yürütmesi olmadan kaynak dalı işlemelerini hedefe kaydederek doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false , true .
allow-rebase-merge
Birleştirme işlemesiyle yeniden temellendir. Kaynak dalı işlemesini hedefe kaydederek ve sonra bir birleştirme işlemesinin oluşturulmasıyla yarı doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false , true .
allow-squash
Squash birleştirme. Kaynak dal yürütmelerinin hedef dalda tek bir yeni işleme halinde yoğunlaşarak doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false , true .
blocking
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false , true .
branch
Sonuçları tam eşleşme ile filtrelemek için dal adı. --repository-idDal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenini kullanın. Değer ise exact , ilke bağımsız değişkenle tam olarak eşleşen bir dalda geçerlidir --branch . Değer ise prefix , ilke bağımsız değişkende önekiyle eşleşen tüm dal klasörlerinde geçerlidir --branch . Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true .
org
Azure DevOps kuruluş URL 'si. Varsayılan organizasyonu kullanarak yapılandırabilirsiniz az devops configure -d organization=<ORG_URL> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir . Örnek: .
project, p
Projenin adı veya KIMLIĞI. Varsayılan projeyi kullanarak yapılandırabilirsiniz az devops configure -d project=<NAME_OR_ID> . Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla çekildiğinde gereklidir .
repository-id
Sonuçlara tam eşleşme ile filtre uygulanacak deponun KIMLIĞI. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Aboneliğin adı veya kimliği. Kullanarak varsayılan aboneliği yapılandırabilirsiniz az account set -s <NAME_OR_ID> .
use-squash-merge
Her zaman birleştirme yapılıp yapılmayacağını belirtir. Bu seçenek, diğer birleştirme türleri için çalışmaz. Kabul edilen değerler: false , true .
Birleştirme stratejisi zorlama
Çekme isteği tamamlandığında bir birleştirme stratejisi zorlayarak tutarlı bir dal geçmişi saklayın.
Birleştirme stratejisi zorla ' yı seçin ve bu stratejiyi kullanarak çekme isteklerinin birleştirilmesini gerektirmek için bir seçenek belirleyin.
İleri sarma birleştirme yok -Bu seçenek, çekme isteği kapandığında kaynak dalın tamamlama geçmişini birleştirir ve hedef dalda bir birleştirme yürütmesi oluşturur.
Sıkıştırarak birleştirme -bir sıkıştırarak birleştirme ile tüm çekme isteklerini, kaynak daldaki değişikliklerle hedef dalda tek bir kayıt oluşturarak doldurun. Sıkıştırma birleştirme ve dalınızın geçmişini nasıl etkilediği hakkında daha fazla bilgi edinin .
Derleme doğrulaması
Çekme isteğinin tamamlanabilmesi için, çekme isteği değişikliklerinin başarıyla derlenmesini gerektiren bir ilke belirleyebilirsiniz.
Yapı ilkeleri molaları azaltır ve test sonuçlarının geçişini saklar. Sorunları erken yakalamak için geliştirme dallarınızda sürekli tümleştirme (CI) kullanıyor olsanız bile, derleme ilkeleri yardımı.
Yeni bir çekme isteği oluşturulduğunda veya bir dalı hedefleyen mevcut bir PR 'ye yapılan değişiklikler gönderildiğinde, derleme doğrulama ilkesi yeni bir derlemeyi kuyruğa alır. Derleme ilkesi, çekme isteğinin tamamlanıp tamamlanamayacağını öğrenmek için derleme sonuçlarını değerlendirir.
Önemli
Bir yapı doğrulama ilkesi belirtmeden önce, derleme işlem hattına sahip olmanız gerekir. İşlem hattınız yoksa, bkz. derleme işlem hattı oluşturma. Proje türü ile eşleşen yapı türünü seçin.
Tetikleyici altındaOtomatik (kaynak dal güncelleştirildiğinde) veya El ile'yiseçin.
İlke gereksinimi'ninaltında Gerekli veya İsteğe Bağlı'yaseçin. Gerekli'yi seçerseniz,DISK'leri tamamlamak için derlemelerin başarıyla tamamlanması gerekir. Derleme hatasına bir bildirim sağlamak ancak yine de DISK'lerin tamamlanmasına izin vermek için İsteğe Bağlı'ya seçin.
Korumalı dalda yapılan güncelleştirmelerin açık DISK'ler için değişiklikleri bozmay olduğundan emin olmak için derleme süre sonu ayarlayın.
Dal adı > güncelleştirildiğinde hemen:Bu seçenek, > dal her güncelleştirildiğinde pr derleme ilkesi durumunu başarısız olarak ayarlar ve bir derlemeyi yenidenqueuyrlar. Bu ayar, korumalı dal değişirse bile PR değişikliklerinin başarıyla derlemesi sağlar.
Bu seçenek, önemli dalları az değişiklik olan takımlar için en iyisidir. Teams geliştirme dallarında çalışmanız, dal her güncelleştirmesinde derlemeyi beklemenin kesintiye neden olduğunu bulabilir.
Dal adı >< güncelleştirildikten n >saat sonra: Geçiş derlemesi, girdiğiniz eşikten daha eski ise korumalı dal güncelleştirildiğinde bu seçenek geçerli ilke durumunun süresini dolar. Bu seçenek, korumalı dal güncelleştirmeleri olduğunda her zaman veya hiçbir zaman derleme gerektirmeyenler arasında bir güvenlik açıklarıdır. Bu seçim, korumalı dalda sık sık güncelleştirmeler olduğunda derleme sayısını azaltır.
Hiçbirzaman: Korumalı dalda yapılan güncelleştirmeler ilke durumunu değiştirmez. Bu değer derleme sayısını azaltır, ancak yakın zamanda güncelleştirilmiş olan DISK'leri tamamlarken sorunlara neden olabilir.
Bu derleme ilkesi için isteğe bağlı bir Görünen ad girin. Bu ad, ilkeyi Dal ilkeleri sayfasında tanımlar. Görünen ad belirtmezseniz, ilke derleme işlem hattı adını kullanır.
Kaydet’i seçin.
Pr sahibi derlemeyi başarıyla teslim edinca ilke durumu uzer.
Dal adı güncelleştirildiğinde > hemen veya Dal adı güncelleştirildiğinde > saat sonra derleme ilkesi güncelleştirildiğinde ilke durumunuz, önceki derleme artık geçerli değilse korumalı dal güncelleştirildiğinde güncelleştirilir.
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true . Gerekli .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. Gerekli .
build-definition-id
Derleme tanımı kimliği. Gerekli .
display-name
İlkeyi tanımlamak için bu derleme ilkesi için görünen ad. Örneğin: Manual queue policy. Gerekli .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true . Gerekli .
manual-queue-only
Derlemelerin yalnızca el ile kuyruğa izin verip izin ver vermeyeceği. Kabul edilen değerler: false , true . Gerekli .
queue-on-source-update-only
Yalnızca kaynak güncelleştirmeleri sırasında derlemelerin kuyruğa alınıp alınıp alınıp alınmaymalıdır. Kabul edilen değerler: false , true . Gerekli .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Gerekli .
valid-duration
İlke geçerlilik süresi (dakika olarak). Not: sıfır ile bir yıl arasında olmalı ve olduğunda sıfır --queue-on-source-update-onlyfalse olmalıdır. Gerekli .
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
path-filter
İlkenin uygulanacak yolları. mutlak yolları, joker karakterleri ve ile ayrılmış birden çok yolu ; destekler. Örnekler: /WebApp/Models/Data.cs/WebApp/* , veya *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
Örnek
Aşağıdaki örnek, Fabrikam deposunun dalda çekme istekleri için main gerekli bir derleme ilkesi ayarlar. İlke, derleme tanımı kimliğinin başarılı bir şekilde derlemesi gerektirir 1 ve yalnızca el ile kuyruğa alma özelliğine izin verir. Bu örnek varsayılan yapılandırmasını az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" kullanır.
az repos policy build create --blocking true --branch main --build-definition-id 1 --display-name build-policy --enabled true --manual-queue-only true --queue-on-source-update-only false --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --valid-duration 0 --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------ ------------- ------------ ------------------------------------ ---------------
31 build-policy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
build-definition-id
Derleme tanımı kimliği.
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
display-name
İlkeyi tanımlamak için bu derleme ilkesi için görünen ad. Örneğin: Manual queue policy.
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true .
manual-queue-only
Derlemelerin yalnızca el ile kuyruğa izin verip izin ver vermeyeceği. Kabul edilen değerler: false , true .
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
path-filter
İlkenin uygulanacak yolları. mutlak yolları, joker karakterleri ve ile ayrılmış birden çok yolu ; destekler. Örnekler: /WebApp/Models/Data.cs/WebApp/* , veya *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
queue-on-source-update-only
Yalnızca kaynak güncelleştirmeleri sırasında derlemelerin kuyruğa alınıp alınıp alınıp alınmaymalıdır. Kabul edilen değerler: false , true .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
valid-duration
İlke geçerlilik süresi (dakika olarak).
Çekme isteğinin tamamlanamadan önce korumalı dalla başarıyla derlemesi için çekme isteğinde değişiklik gerektiren bir ilke ayarlayın.
Derleme ilkeleri, kesmeleri azaltır ve test sonuçlarının geçişini sağlar. Derleme ilkeleri, sorunları erkenden yakalamak için geliştirme dalları üzerinde sürekli tümleştirme (CI) kullanıyor olsa bile yardımcı olur.
Derleme doğrulama ilkesi etkinse, yeni bir çekme isteği oluşturulduğunda veya değişiklikler dalı hedef alan mevcut bir çekme isteğine iletilirse yeni bir derleme kuyruğa eklenir. Ardından derleme ilkesi, çekme isteğinin tamamlanamadı mı olduğunu belirlemek için derlemenin sonuçlarını değerlendirir.
Önemli
Derleme doğrulama ilkesi belirtmeden önce bir derleme tanımına sahipsiniz. Bir derleme tanımınız yoksa bkz. Derleme tanımı oluşturma ve proje türünüzle eşleşen derleme türünü seçin.
Derleme ilkesi ekle'yi seçin ve Derleme ilkesi ekle'de seçeneklerinizi yapılandırabilirsiniz.
Derleme tanımını seçin.
Tetikleyici türünü seçin. Otomatik (kaynak dal güncelleştirildiğinde) veya El ile'yiseçin.
İlke gereksinimini seçin. Gerekli'yi seçerseniz,çekme isteklerini tamamlamak için derlemelerin başarıyla tamamlanması gerekir. Derleme hatası bildirimi sağlamak ancak yine de çekme isteklerinin tamamlanmasına izin vermek için İsteğe Bağlı'ya seçin.
Korumalı dalınıza yapılan güncelleştirmelerin açık çekme isteklerinde değişiklikleri bozmay olduğundan emin olmak için derleme süre sonu ayarlayın.
Güncelleştirildiğinde hemen:Bu seçenek, korumalı dal güncelleştirildiğinde çekme isteğinde derleme ilkesi durumunu başarısız olarak ayarlar. Derleme durumunu yenilemek için derlemeyi yeniden sırala. Bu ayar, çekme isteklerinde yapılan değişikliklerin korumalı dal değiştiklerini bile başarıyla oluşturmalarını sağlar. Bu seçenek, daha düşük hacimli önemli dallara sahip olan takımlar için en iyisidir. Teams geliştirme dallarında çalışmanız, korumalı dal her güncelleştirildiğinde derlemenin tamamlandıktan sonra tamamlanacak şekilde beklemenin kesintiye neden olduğunu bulabilir.
Güncelleştirilen saatler branch name sonra:Bu seçenek, derlemeyi geçirmenin girilen eşikten daha eski olduğu durumda korunan dal güncelleştirildiğinde geçerli ilke durumunun süresinin dolması. Bu seçenek, korumalı dal güncelleştirmeleri olduğunda ve hiçbir zaman bir derleme gerektirmeyenler arasında her zaman bir derleme gerektirme arasında bir güvenlik açıklarıdır. Bu seçenek, korumalı dalda sık sık güncelleştirmeler olduğunda derleme sayısını azaltmak için mükemmeldir.
Hiçbirzaman: Korumalı dalda yapılan güncelleştirmeler ilke durumunu değiştirmez. Bu değer, dal için derleme sayısını azaltır. Son zamanlarda güncelleştirilmedi çekme isteklerini kapatırken sorunlara neden olabilir.
Bu derleme ilkesi için isteğe bağlı bir Görünen ad girin. Bu ad, ilkeyi Dal ilkeleri sayfasında tanımlar. Görünen ad belirtmezseniz, ilke derleme tanımı adını kullanır.
Kaydet’i seçin.
Sahibi derlemeyi başarıyla iletirse ilke durumu güncelleştirilir. Hemen güncelleştirildiğinde veya Güncelleştirilmiş derleme ilkesi seçildikten sonra saatlere sahipseniz, en son derleme artık geçerli değilse korumalı dal güncelleştirildiğinde ilke durumu güncelleştirilir. branch name
Durum denetimleri
Dış hizmetler PR'lerinize ayrıntılı durum gönderisi yapmak için PR Durumu API'sini kullanabilir. Ek hizmetler için dal ilkesi, bu üçüncü taraf hizmetlerin PR iş akışına katılmalarını ve ilke gereksinimlerini oluşturmalarını sağlar.
Dış hizmetler PR'lerinize ayrıntılı durum gönderisi yapmak için PR Durumu API'sini kullanabilir. Ek hizmetler için dal ilkesi, bu üçüncü taraf hizmetlerin PR iş akışına katılmalarını ve ilke gereksinimleri oluşturmalarını sağlar.
Kodu gözden geçirenleri otomatik olarak dahil etmek
Gözden geçirenleri belirli dizinlerde ve dosyalarda dosyaları değiştiren çekme isteklerine veya bir repo'daki tüm çekme isteklerine otomatik olarak eklersiniz.
Gözden geçirenleri otomatik olarak eklemek ancak çekme isteğini tamamlamak için onaylarını gerektirmeyenler için İsteğe Bağlı'ya tıklayın.
Veya çekme istekleri tamamlanana kadar gerekli'yi seçin:
Gözden geçiren olarak eklenen her bir kişi değişiklikleri onaylar.
Gözden geçiren olarak eklenen her gruptaki en az bir kişi değişiklikleri onaylar.
Yalnızca bir grup gerekli ise, belirttiğiniz en az üye sayısı değişiklikleri onaylar.
Otomatik olarak dahil edilen gözden geçirenleri gerektiren dosyaları ve klasörleri belirtin. Dalda tüm çekme istekleri için gözden geçirenlerin gerektirmesi için bu alanı boş bırakın.
Çekme isteği sahipleri, bu ilkeyi karşılamak için kendi çekme isteklerini onaylamak için oy kullandıklarında, İstek sahiplerinin kendi değişikliklerini onaylamasına izin ver'i seçin.
Çekme isteğinde görüntülenen bir Etkinlik akışı iletisi belirtebilirsiniz.
Kaydet’i seçin.
Gerekli gözden geçiren Azure DevOps ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos ilkesi required-reviewer kullanabilirsiniz.
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true . Gerekli .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. Gerekli .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true . Gerekli .
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Gerekli .
required-reviewer-ids
ile ayrılmış gözden geçiren e-posta ; adresleri. Örneğin: john@contoso.com;alice@contoso.com.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
org
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
path-filter
İlkenin uygulanacak yolları. mutlak yolları, joker karakterleri ve ile ayrılmış birden çok yolu ; destekler. Örnekler: /WebApp/Models/Data.cs/WebApp/* , veya *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
Örnek
Aşağıdaki örnek, Jamal Hartnett'i Fabrikam deposunun dalda çekme istekleri için gerekli bir main gözden geçiren olarak ayarlar. Bu örnek varsayılan yapılandırmasını az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber" kullanır.
az repos policy required-reviewer create --blocking true --branch main --enabled true --message "Please review." --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --required-reviewer-ids fabrikamfiber4@hotmail.com --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------ ------------- ------------ ------------------------------------ ---------------
35 Required reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Gerekli gözden geçiren ilkesi güncelleştirme
Gerekli bir gözden geçiren ilkesi güncelleştirmek için az repos ilkesi required-reviewer update kullanın.
İlke karşı konulmamışsa engelle. Kabul edilen değerler: false , true .
branch
Sonuçları tam eşleşmeye göre filtrelemek için dal adı. dal --repository-id filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
branch-match-type
branchİlkeyi uygulamak için bağımsız değişkenlerini kullanın. Değer ise, exact ilke bağımsız değişkeniyle tam olarak eşleşen bir dalda --branch uygulanır. Değer ise, prefix ilke bağımsız değişkendeki ön ekle eşan tüm dal klasörlerine --branch uygulanır. Kabul edilen değerler: exact , prefix . Varsayılan değer: exact .
detect
Kuruluşu otomatik olarak algıla. Kabul edilen değerler: false , true .
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false , true .
Azure DevOps URL'sini seçin. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir. Örnek: .
path-filter
İlkenin uygulanacak yolları. mutlak yolları, joker karakterleri ve ile ayrılmış birden çok yolu ; destekler. Örnekler: /WebApp/Models/Data.cs/WebApp/* , veya *.cs,/WebApp/Models/Data.cs;ClientApp/Models/Data.cs .
project, p
Projenin adı veya kimliği. Varsayılan projeyi kullanarak az devops configure -d project=<NAME_OR_ID> yapılandırarak. Varsayılan olarak yapılandırılmamışsa veya git yapılandırması aracılığıyla toplanmazsa gereklidir.
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
required-reviewer-ids
ile ayrılmış gözden geçiren e-posta ; adresleri. Örneğin: john@contoso.com;alice@contoso.com.
subscription
Aboneliğin adı veya kimliği. Varsayılan aboneliği kullanarak az account set -s <NAME_OR_ID> yapılandırabilirsiniz.
Belirli dizinler ve dosyalar için repo içinde gözden geçirenleri seçin.
Bu gözden geçirenler, bu yollarda dosyaları değiştiren çekme isteklerine otomatik olarak eklenir. Etkinlik akışı iletisi de belirtebilirsiniz.
Gerekli'yiseçersanız, çekme isteği aşağıdakilere kadar tamamlanamadı:
Yol için gözden geçiren olarak eklenen her kullanıcı değişiklikleri onaylar.
Yola eklenen her gruptaki en az bir kişi değişiklikleri onaylar.
Yola eklenen her grup için belirtilen gözden geçiren sayısı değişiklikleri onaylar.
Gözden geçirenleri otomatik olarak eklemek ancak çekme isteğini tamamlamak için onaylarını gerektirmeyenler için İsteğe Bağlı'ya tıklayın.
İstektelayanlar kendi değişikliklerini onaylar öğesini seçin.
Tüm gerekli gözden geçirenler kodu onaylıyorsa, çekme isteğini tamamabilirsiniz.
Dal ilkelerini atlama
Bazı durumlarda, ilke gereksinimlerini atlamamız gerekir. Atlama izinleri, değişiklikleri doğrudan bir dala veya dal ilkelerini karşılamadan çekme isteklerini tamamlamaya izin verin. Bir kullanıcı veya gruba atlama izinleri veebilirsiniz. Projenin tamamına, bir repoya veya tek bir dala atlama izinlerini kapsam olarak kullanabilirsiniz.
İki izin, kullanıcıların farklı yollarla dal ilkesi atlamasına olanak sağlar:
Çekme isteklerini tamamlarken atlama ilkeleri yalnızca çekme isteğinin tamamlanması için geçerlidir. Bu izine sahip kullanıcılar, çekme istekleri ilkeleri karşılamasa bile çekme isteklerini tamamlar.
Itme yapılırken atlama ilkeleri, yerel depolardan yapılan itmeler ve web üzerinde yapılan düzenlemeler için geçerlidir. Bu izine sahip kullanıcılar, ilke gereksinimlerini karşılamadan değişiklikleri doğrudan korumalı dallara iter.
Bu izinleri yönetme hakkında daha fazla bilgi için bkz. Git izinleri.
TFS 2015 ile TFS 2018 Güncelleştirme 2'de İlke zorlamadan muaf etme izni, bu izine sahip kullanıcıların aşağıdaki eylemleri gerçekleştirmesini sağlar:
Çekme isteğini tamamlarken, geçerli dal ilkeleri kümesi karşılanmazsa bile ilkeleri geçersiz kılmayı ve bir çekme isteğini tamamla'ya kabul.
Dal ilkeleri ayarlanmış olsa bile doğrudan bir dala itin. Bu izine sahip bir kullanıcı dal ilkesi geçersiz kılacaktır bir anında iletişimde, geri kabul adımı veya uyarı olmadan otomatik olarak dal ilkesi atlar unutmayın.
Önemli
Başta repo ve proje düzeylerinde olmak üzere ilkeleri atlama yeteneği sağlarken dikkatli olun. İlkeler, güvenli ve uyumlu kaynak kodu yönetiminin bir temel taşıdır.
Yol filtreleri
Birçok dal ilkesi yol filtreleri sunar. Bir yol filtresi ayarlandıysa, ilke yalnızca yol filtresiyle eşleşen dosyalar için geçerlidir. Bu alanı boş bırakmak, ilkenin daldaki tüm dosyalar için geçerli olduğu anlamına gelir.
Mutlak yollar ve joker karakterler belirtebilirsiniz.
Örnekler:
/WebApp/Models/Data.cs
/WebApp/*
*.cs
Ayırıcı olarak kullanarak birden çok yol belirtebilirsiniz ; .
Örnek:
/WebApp/Models/Data.cs;ClientApp/Models/Data.cs
Ön eki eklenen yollar, ! Aksi takdirde dahil edilmez.
Örnek:
/WebApp/*;!/WebApp/Tests/*içindeki dosyalar hariç tüm dosyaları içerir /WebApp/WebApp/Tests
!/WebApp/Tests/* İlk olarak hiçbir şey dahil olmadığı için hiçbir dosya belirtir
Filtrelerin sırası önemlidir. Filtreler soldan sağa uygulanır.
Değişiklikleri doğrudan dal ilkelerine sahip dallara gönderebilir miyim?
Dal ilkelerini atlamaizinleriniz olmadığı takdirde, değişiklikleri doğrudan gerekli dal ilkelerine sahip dallara gönderemezsiniz. Bu Dallardaki değişiklikler yalnızca çekme istekleriaracılığıyla yapılabilir. Gerekli dal ilkeleri yoksa, değişiklikleri doğrudan isteğe bağlı dal ilkelerine sahip dallara gönderebilirsiniz.
Otomatik tamamlama nedir?
Yapılandırılmış dal ilkeleri olan dallara çekme istekleri, Otomatik tamamlamayı ayarla düğmesine sahiptir. Çekme isteğini tüm ilkeleri yerine getirdikten sonra otomatik olarak gerçekleştirmek için bu seçeneği belirleyin. Değişikliklerle ilgili herhangi bir sorun beklenmezseniz otomatik tamamlama yararlı olur.
Dal ilkesi koşulları ne zaman denetlenir?
Çekme isteği sahipleri değişiklikleri geldiğinde ve gözden geçirenler oylandığınızda dal ilkeleri sunucuda yeniden değerlendirilecektir. Bir ilke bir derlemeyi tetiklerse derleme durumu, derleme tamamlanana kadar bekliyor olarak ayarlanır.
Dal ilkelerinde XAML derleme tanımlarını kullanabilir miyim?
Hayır, dal ilkelerinde XAML derleme tanımlarını kullanamazsınız.
Gerekli kod gözden geçirenler için hangi joker karakter kullanabilirim?
Tek yıldız işaretleri * , hem eğik çizgi hem de / ters eğik çizgi dahil olmak üzere herhangi bir sayıda karakterle eşleşir \ . Soru işaretleri ? herhangi bir tek karakterle eşleşir.
Örnekler:
*.sql*.sql uzantısına sahip tüm dosyaları eşleştirir.
/ConsoleApplication/*/ConsoleApplication/*adlı klasörün altındaki tüm dosyaları eşleştirir.
/.gitattributes Deponun kökündeki /.gitattributes dosyası ile eşleşir.
*/.gitignore Depodaki herhangi bir */.gitignore dosyasıyla eşleşir.
Gerekli kod gözden geçiren yolları büyük/küçük harfe duyarlıdır mi?
Hayır, dal ilkeleri büyük/küçük harfe duyarlı değildir.
Birden çok kullanıcıyı gerekli gözden geçirenler olarak nasıl yapılandırabilirim, ancak bunlardan yalnızca birini onaylaması gerekir mi?
Kullanıcıları bir gruba ekleyebilirve sonra grubu gözden geçiren olarak ekleyebilirsiniz. Grubun herhangi bir üyesi, ilke gereksinimini karşılamak için daha sonra onaylayabilir.
Atlama İlkesi izinleri var. Neden hala çekme isteği durumunda ilke başarısızlıklarını görmem gerekiyor?
Yapılandırılmış ilkeler, çekme isteği değişiklikleri için her zaman değerlendirilir. Atlama ilkesi izinlerine sahip olan kullanıcılar için, bildirilen ilke durumu yalnızca Danışma amaçlıdır. Atlama izinleri olan Kullanıcı onayladığında, başarısızlık durumu çekme isteği tamamlamayı engellemez.
"İsteklerin kendi değişikliklerini onaylamasına Izin ver" olarak ayarlandıysa kendi çekme isteklerimi neden tamamlayamıyorum?
Her ikisi de Minimum gözden geçiren sayısı Ilkesi gerektirir ve otomatik olarak eklenen gözden geçirenler ilkesi, isteyicilerinkendi değişikliklerini onaylamasına izin verenseçeneklere sahiptir. Her ilkede, ayar yalnızca bu ilke için geçerlidir. Ayar diğer ilkeyi etkilemez.
Örneğin, çekme isteğiniz Aşağıdaki ilkeler kümesine sahiptir:
Minimum gözden geçiren sayısı için en az bir gözden geçiren gerekir.
Otomatik olarak eklenen gözden geçirenler sizin veya gözden geçiren olarak kullandığınız bir ekip gerektirir.
Otomatik olarak eklenen gözden geçirenler , isteyicilerin kendi değişikliklerinin etkin olduğunu onaylamasını sağlar .
Gerekli olan en az sayıda gözden geçiren, istek sayısının kendi değişikliklerini onaylamasını sağlar .
Bu durumda, onaylamanız otomatik olarak gözden geçirenler içerir, ancak en az sayıda gözden geçiren gerektirmez, çekme isteğini tamamlayamazsınız.
Ayrıca, bazı ileticikendi değişikliklerini onaylamasını engelle gibi başka ilkeler de olabilir. bu da, isteyicilerinin kendi değişikliklerini onaylamasına izin ver ayarı ayarlanmış olsa bile, kendi değişikliklerinizi onaylamayı önler.