Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Dal ilkeleri, ekiplerin önemli geliştirme dallarını korumalarına yardımcı olur. İlkeler, ekibinizin kod kalitesini zorlar ve yönetim standartlarını değiştirir. Bu makalede, dal ilkelerinin nasıl ayarlanacağı ve yönetileceğini açıklanmaktadır. Tüm depo ve dal ilkelerine ve ayarlarına genel bakış için bkz . Git deposu ayarları ve ilkeleri.
Gerekli ilkelerin yapılandırıldığı bir dal silinemez ve tüm değişikliklerin çekme istekleri (PR) üzerinden yapılması gerekir.
Önkoşullar
- Dal ilkelerini ayarlamak için, Proje Yöneticileri güvenlik grubunun üyesi olun veya depo düzeyinde ilkeleri düzenle izinlerine sahip olun. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama.
Dal politikalarını yönetmek için Depolar>Dallar öğesini seçerek web portalında Dallar sayfasını açın.
Ayrıca, Proje Ayarları>Depo>İlkeler>Dal İlkeleri><Dal Adı> ile dal ilkesi ayarlarına da ulaşabilirsiniz.
İlkeleri olan dallarda bir ilke simgesi görüntülenir. 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ğ üstteki Dal adı ara kutusunda listeye göz atabilir veya dalınızı arayabilirsiniz.
Dalın yanındaki Diğer seçenekler simgesini ve ardından bağlam menüsünden Dal ilkeleri'ni seçin.
Dalın 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.
Bir dal veya deponun ilkelerini listelemek veya göstermek için Azure DevOps CLI'yi kullanabilirsiniz.
Politikaları listele
Projedeki tüm ilkeleri listelemek için az repos policy list komutunu kullanın.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parametreler
| Parametre |
Açıklama |
branch |
Tam eşleşmeye göre sonuçları filtrelemek için şube adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org, organization |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
query-examples |
Önerilen JMESPath dizesi. Sonuçları görmek için sorgulardan birini kopyalayıp parametrenin --query arkasına çift tırnak içine yapıştırabilirsiniz. Önerilerin bu anahtar sözcüklere dayalı olması için bir veya daha fazla konumsal anahtar sözcük ekleyebilirsiniz. |
repository-id |
Deponun kimliği, sonuçları tam eşleşmeye göre filtrelemek için. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Örnek
Aşağıdaki komut, Fabrikam deposunun main dalında geçerli olan tüm dal ilkelerini döndürür.d28cd374-e7f0-4b1f-ad60-f349f155d47c komutunu çalıştırarak az repos listdepo kimliğini alabilirsiniz.
Bu örnekte aşağıdaki varsayılan yapılandırma kullanılı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
İlkenin ayrıntılarını gösterme
Herhangi bir ilkenin ayrıntılarını göstermek için az repos policy show komutunu kullanın.
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org, organization |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
query-examples |
Önerilen JMESPath dizesi. Sonuçları görmek için sorgulardan birini kopyalayıp parametrenin --query arkasına çift tırnak içine yapıştırabilirsiniz. Önerilerin bu anahtar sözcüklere dayalı olması için bir veya daha fazla konumsal anahtar sözcük ekleyebilirsiniz. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
En az sayıda gözden geçiren gerektir
Kod incelemeleri, yazılım geliştirme projeleri için önemlidir. Takımların PR'leri gözden geçirmesini ve onaylamasını sağlamak için, en az bir sayıda gözden geçirenin onayını gerektirebilirsiniz. Temel ilke, belirtilen sayıda gözden geçirenin kodu reddetme olmadan onaylamasını gerektirir.
İlkeyi ayarlamak için Dal İlkeleri altında En az sayıda gözden geçiren gerektir seçeneğini Açık olarak ayarlayın. Gerekli gözden geçiren sayısını girin ve aşağıdaki seçeneklerden birini belirleyin:
İstek sahiplerinin kendi değişikliklerini onaylamasına izin ver seçeneğini seçerek, PR'yi oluşturan kişinin onayın onayına oy verebilmesini sağlarsınız. Aksi takdirde, oluşturan kişi PR'de Onayla oyu kullanabilir, ancak bu oy minimum gözden geçiren sayısına katkıda bulunmaz.
Görevlerin ayrıştırılmasını zorunlu kılmak için en son göndericinin kendi değişikliklerini onaylamasını engellemeyi seçin. Varsayılan olarak, kaynak dalda kaydetme izni olan herkes hem commit ekleyebilir hem de çekme isteği onayında oy kullanabilir. Bu seçeneğin seçilmesi, normalde kendi değişikliklerini onaylasa bile en son göndericinin oylarının sayılmaması anlamına gelir.
Bazı gözden geçirenler beklemeye veya reddetmeye oy verse bile, tamamlamaya izin vermek için 'Tamamlamaya izin ver'i seçin. En az sayıda gözden geçirenin yine de onaylaması gerekir.
-
Yeni değişiklikler gönderildiğinde altında:
- Son kaynak dal değişikliği için en az bir onay oyu gerektirmek üzere Her yinelemede en az bir onay iste'yi seçin. Kullanıcının onayı, bu kullanıcı tarafından gönderilen önceki onaylanmamış yinelemelere göre sayılmaz. Sonuç olarak, başka bir kullanıcı tarafından son yinelemede başka bir onay yapılması gerekir.
Azure DevOps Server 2022.1 ve sonraki sürümlerde kullanılabilen her yineleme için en az bir onay iste.
- Son kaynak dal değişikliği için en az bir onay oyu gerektirmek amacıyla, Son yinelemede en az bir onay gerektir seçeneğini seçin.
-
Onay oylarının tümünü sıfırla seçeneğini, kaynak dal değiştiğinde onay oylarını kaldırmak fakat reddetmek veya beklemek için oyları korumak için seçin.
- Kaynak dal değiştiğinde tüm gözden geçiren oylarını kaldırmak için Tüm kod gözden geçiren oylarını sıfırla'yı seçin; buna onay, reddetme veya bekleme oyları da dahildir.
Diğer tüm ilkeler geçerse, gerekli sayıda gözden geçiren onayladığında oluşturucu çekme isteğini tamamlayabilir.
Az repos policy approver-count ile pull isteği gereken onaylayanların sayılarını yönetebilirsiniz.
**
Onaylayan sayısı politikasını oluştur
Onaylayan sayısı ilkesi oluşturmak için az repos policy approver-count create komutunu kullanın.
az repos policy approver-count create --allow-downvotes {false, true}
--blocking {false, true}
--branch
--creator-vote-counts {false, true}
--enabled {false, true}
--minimum-approver-count
--repository-id
--reset-on-source-push {false, true}
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
Parametreler
| Parametre |
Açıklama |
allow-downvotes |
Aşağı oyulara izin ver. Kabul edilen değerler: false, true.
Gerekli |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true.
Gerekli |
branch |
Tam eşleşmeye göre sonuçları filtrelemek için şube adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
Gerekli |
creator-vote-counts |
Oluşturucunun oylarını say. Kabul edilen değerler: false, true.
Gerekli |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
Gerekli |
minimum-approver-count |
Gereken en az onaylayan kişi sayısı. Örneğin: 2.
Gerekli |
repository-id |
Deponun kimliği, sonuçları tam eşleşmeye göre filtrelemek için. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Gerekli |
reset-on-source-push |
Değişiklikler kaynağa gönderildiğinde oyları sıfırlayın. Kabul edilen değerler: false, true.
Gerekli |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun main dalındaki çekme istekleri için gereken en düşük onay sayısını 2 olarak ayarlar. İlke, asgari sayıdaki oylamanın onaylanması şartıyla, bazı gözden geçirenler onaylamamak için oy kullansalar bile çekme isteklerinin tamamlanabilmesine izin verir. Kaynak dala yapılan gönderimler oyları sıfırlamaz. İlke, çekme isteği oluşturucularının kendi çekme isteklerini onaylamasına da olanak tanır.
Bu örnekte varsayılan yapılandırması az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"kullanılı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
Onaylayan sayısı ilkesini güncelleştirme
Onaylayıcı sayısı ilkesini güncellemek için az repos policy approver-count update komutunu kullanın.
az repos policy approver-count update --id
[--allow-downvotes {false, true}]
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--creator-vote-counts {false, true}]
[--detect {false, true}]
[--enabled {false, true}]
[--minimum-approver-count]
[--org]
[--project]
[--repository-id]
[--reset-on-source-push {false, true}]
[--subscription]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
allow-downvotes |
Aşağı oyulara izin ver. Kabul edilen değerler: false, true. |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true. |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
creator-vote-counts |
Oluşturucunun oylarını say. Kabul edilen değerler: false, true. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true. |
minimum-approver-count |
Gereken en az onaylayan kişi sayısı. Örneğin: 2. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
repository-id |
Sonuçları tam eşleşmeyle 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 az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Bağlı iş öğelerini denetleme
İş öğesi yönetimi izlemesi için PR'ler ve iş öğeleri arasında ilişkilendirmeler gerektirebilirsiniz. İş öğelerini bağlamak, değişiklikler için daha fazla bağlam sağlar ve güncelleştirmelerin iş öğesi izleme sürecinizden geçmesine olanak sağlar.
İlkeyi ayarlamak için Dal İlkeleri altında Bağlı iş öğelerini denetleyi Açık olarak ayarlayın. Bu ayar, bir çekme isteğinin birleştirilmesi için iş öğelerinin bir çekme isteğine bağlanmasını zorunlu kılar. Bağlı iş öğesi bulunmadığında uyarmak, ancak çekme isteğinin tamamlanmasına izin vermek için ayarı İsteğ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 repos policy work-item-linking kullanabilirsiniz.
İş öğesi bağlama ilkesi oluşturma
Depo veya dallar için iş öğesi bağlama ilkesi oluşturmak üzere az repos policy work-item-linking create komutunu kullanın.
az repos policy work-item-linking create --blocking {false, true}
--branch
--enabled {false, true}
--repository-id
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
Parametreler
| Parametre |
Açıklama |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true.
Gerekli |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal 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şmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
İş öğesi bağlama ilkesini güncelleştirme
Bir depo veya bir veya daha fazla dal için iş öğesi bağlama ilkesini güncellemek amacıyla az repos policy work-item-linking update komutunu kullanın.
az repos policy work-item-linking update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--org]
[--project]
[--repository-id]
[--subscription]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true. |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true. |
minimum-approver-count |
Gereken en az onaylayan kişi sayısı. Örneğin: 2. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
repository-id |
Sonuçları tam eşleşmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun main dalının politika kimliğini 3 etkin, ancak isteğe bağlı olacak şekilde güncelleştirir. Örnekte varsayılan yapılandırma az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"kullanılır.
>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 CLI komutları Azure DevOps Server için desteklenmez.
Çekme isteği (PR) açıklama çözümlenmesini kontrol etme ilkesi, tüm yorumların çözümlenip çözümlenmediğini denetler.
Dalınız için bir yorum çözümleme ilkesi yapılandırmak üzere, Yorum çözümlemesi denetle seçeneğini Açık olarak ayarlayın. Ardından ilkenin Gerekli mi yoksa İsteğe bağlı mı yapılıp yapılmayacağını seçin.
Çekme isteği yorumlarıyla çalışma hakkında daha fazla bilgi için Bkz. Çekme isteklerini gözden geçirme.
Açıklama çözümleme politikasını ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos policy comment-required kullanabilirsiniz.
Açıklama çözümleme ilkesi oluşturmak için az repos policy comment-required create komutunu kullanın.
az repos policy comment-required create --blocking {false, true}
--branch
--enabled {false, true}
--repository-id
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
Parametreler
| Parametre |
Açıklama |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true.
Gerekli |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal 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şmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Gerekli |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Açıklama çözümleme ilkesini güncellemek için az repos policy comment-required update komutunu kullanın.
az repos policy comment-required update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--org]
[--project]
[--repository-id]
[--subscription]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true. |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
repository-id |
Sonuçları tam eşleşme ile filtrelemek için depo alanının kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun main dalındaki 6 açıklama çözümleme ilkesi kimliğini engelleyici şekilde günceller. Çekme talepleri (pull requestler) birleştirilebilmesi için yorumlar çözülmelidir. Bu örnekte varsayılan yapılandırması az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"kullanılı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 için desteklenmez.
Birleştirme türlerini sınırla
Azure Repos'un çeşitli birleştirme stratejileri vardır ve varsayılan olarak tümüne izin verilir. PR tamamlama için birleştirme stratejisinin uygulanmasını zorunlu kılarak tutarlı bir dal geçmişini koruyabilirsiniz.
Deponuzda hangi birleştirme türlerine izin verebileceğinizi sınırlamak için Birleştirme türlerini sınırla seçeneğini Açık olarak ayarlayın.
-
Temel birleştirme (hızlı iletme olmadan), üst öğeleri hedef ve kaynak dalları olan hedefte bir birleştirme işlemesi oluşturur.
-
Squash birleştirme, kaynak daldaki değişiklikleri tek bir işlemle hedef dalda doğrusal bir geçmiş oluşturur.
Squash birleştirme hakkında daha fazla bilgi edinin ve dal geçmişi üzerindeki etkilerini anlayın.
-
Yeniden temel alma ve ileri sarma , kaynak işlemeleri birleştirme işlemesi olmadan hedef dalda yeniden yürüterek doğrusal bir geçmiş oluşturur.
-
Birleştirme işlemesi ile rebase, kaynak işlemleri hedefe yeniden uygular ve ayrıca bir birleştirme işlemi oluşturur.
Birleştirme stratejisi ilkesini ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos ilkesi birleştirme stratejisini kullanabilirsiniz.
Birleştirme stratejisi ilkesi oluşturma
Birleştirme stratejisi ilkesi oluşturmak için az repos policy merge-strategy create komutunu kullanın.
az repos policy merge-strategy create --blocking {false, true}
--branch
--enabled {false, true}
--repository-id
[--allow-no-fast-forward {false, true}]
[--allow-rebase {false, true}]
[--allow-rebase-merge {false, true}]
[--allow-squash {false, true}]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--project]
[--subscription]
[--use-squash-merge {false, true}]
Parametreler
| Parametre |
Açıklama |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true.
Gerekli |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal 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ı birebir eşleşme ile filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Gerekli |
allow-no-fast-forward |
Hızlı ilerletme olmadan temel birleştirme. Doğrusal olmayan geçmişi tam olarak geliştirme sırasında olduğu gibi korur. Kabul edilen değerler: false, true. |
allow-rebase |
Yeniden temel alıp ileriye doğru ilerleyin. Kaynak dal işlemelerini birleştirme işlemesi olmadan hedefe yeniden yürüterek doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false, true. |
allow-rebase-merge |
Birleştirme işlemesi ile yeniden temelleyin. Kaynak dal işlemelerini hedefte yeniden yürüterek ve sonra birleştirme işlemesi oluşturarak yarı doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false, true. |
allow-squash |
Sıkıştırarak birleştirme. Kaynak dal işlemelerini hedef dalda tek bir yeni işlemeye daraltarak doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false, true. |
branch-match-type |
Politikayı uygulamak için branch argümanını kullanın. Değer exact ise, politika --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkenindeki ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. kullanarak varsayılan projeyi az devops configure -d project=<NAME_OR_ID>yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
use-squash-merge |
Her zaman squash birleştirmesi yap. Bu seçenek diğer birleştirme türleri için kullanılamaz. Kabul edilen değerler: false, true.
Not: use-squash-merge kullanım dışıdır ve gelecek bir sürümde kaldırılacaktır. Bunun yerine --allow-squash kullanın. |
Örnek
Aşağıdaki örnek, squash birleştirmeye izin vermek için Fabrikam deposunun main dalındaki çekme istekleri için gerekli birleştirme stratejisini ayarlar. Bu örnekte varsayılan yapılandırması az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"kullanılır.
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
Birleştirme stratejisi ilkesini güncelleştirme
Birleştirme stratejisi ilkesini güncelleştirmek için az repos policy merge-strategy update komutunu kullanın.
az repos policy merge-strategy update --id
[--allow-no-fast-forward {false, true}]
[--allow-rebase {false, true}]
[--allow-rebase-merge {false, true}]
[--allow-squash {false, true}]
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--org]
[--project]
[--repository-id]
[--subscription]
[--use-squash-merge {false, true}]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
allow-no-fast-forward |
Hızlı iletme olmadan temel birleştirme. Doğrusal olmayan geçmişi tam olarak geliştirme sırasında olduğu gibi korur. Kabul edilen değerler: false, true. |
allow-rebase |
Yeniden temel alıp ileriye doğru ilerleyin. Kaynak dalındaki işlemleri, birleştirme işlemi yapılmadan hedefe yeniden yürüterek doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false, true. |
allow-rebase-merge |
Birleştirme işlemesi ile yeniden temelleyin. Kaynak dal işlemelerini hedefte yeniden yürüterek ve sonra birleştirme işlemesi oluşturarak yarı doğrusal bir geçmiş oluşturur. Kabul edilen değerler: false, true. |
allow-squash |
Sıkıştırarak birleştirme. Kaynak dal işlemelerini hedef dalda tek bir yeni işlemeye daraltarak 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şmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
project, p |
Projenin adı veya kimliği. Varsayılan projeyi az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
repository-id |
Sonuçları birebir eşleşme ile filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
use-squash-merge |
Her zaman squash birleştirmenin uygulanıp uygulanmayacağı. Bu seçenek diğer birleştirme türlerinde çalışmaz. Kabul edilen değerler: false, true. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Derleme doğrulaması
Çekme isteği (PR) tamamlanmadan önce PR değişikliklerinin başarıyla derlenmesini gerektiren bir ilke ayarlayabilirsiniz.
Politika oluşturma, kesintileri azaltır ve test sonuçlarınızın geçmesini sağlar. İnşa etme politikaları, geliştirme dallarınızda sürekli tümleştirme (CI) kullanıyor olsanız bile sorunları erken yakalamanıza yardımcı olur.
Yapı doğrulama ilkesi, yeni bir çekme isteği oluşturulduğunda veya dalı hedefleyen mevcut bir çekme isteğine değişiklikler gönderildiğinde yeni bir yapıyı kuyruğa alır. Yapı politikası, PR'nin tamamlanıp tamamlanamayacağını belirlemek için yapı sonuçlarını değerlendirir.
Önemli
Derleme doğrulama ilkesi belirtmeden önce bir derleme işlem hattına sahip olun. İşlem hattınız yoksa Derleme işlem hattı oluşturma bölümüne bakınız. Proje türünüzle eşleşen derleme türünü seçin.
Bir derleme doğrulama politikası eklemek için
+ tuşuna, Build doğrulama yanındaki düğme üzerinden basın.
Build politikası ayarla formunu doldurun.
Derleme işlem hattını seçin.
İsteğe bağlı olarak bir Yol filtresi ayarlayın.
Dal ilkelerindeki yol filtreleri hakkında daha fazla bilgi edinin.
Tetikleyici'nin altında Otomatik (kaynak dal her güncelleştirildiğinde) veya El ile'yi seçin.
İlke gereksinimi'nin altında Gerekli veya İsteğe Bağlı'yı seçin. Gerekli'yi seçerseniz, PR'lerin tamamlanması için derlemelerin başarıyla tamamlanması gerekir. Derleme hatasıyla ilgili bir bildirim sağlamak ancak pull request'lerin tamamlanmasına izin vermek için İsteğe Bağlı'yı seçin.
Korumalı dalınızın güncelleştirmelerinin açık PR'ler için değişiklikleri bozmadığından emin olmak için bir derleme süre sonu ayarlayın.
< hemen: Bu seçenek, dal güncelleştirildiğinde >PR derleme ilkesi durumunu başarısız olarak ayarlar ve derlemeyi yeniden sorgular. Bu ayar, korumalı dal değişse bile PR değişikliklerinin başarılı bir şekilde derlenmesini sağlar.
Bu seçenek, önemli dallarında birkaç değişiklik bulunan ekipler için en iyisidir. Yoğun geliştirme dallarında çalışan ekipler, dal her güncelleştiğinde bir derleme beklemenin işe kesinti olarak etki etmesini rahatsız edici bulabilir.
<n> saat sonra, eğer <dal adı> güncellendiyse: Korumalı dal güncellendiğinde geçiş derlemesi girdiğiniz eşikten daha eskiyse, bu seçenek mevcut ilke durumunun süresinin dolmasına neden olur. Bu seçenek, korumalı dal güncellendiğinde her zaman veya hiçbir zaman derleme gerektirmemek arasında bir uzlaşmadır. Korumalı dalınızın sık sık güncellenmesi durumunda bu seçenek, yapı sayısını azaltır.
Hiçbir zaman: Korumalı dal güncelleştirmeleri ilke durumunu değiştirmez. Bu değer derleme sayısını azaltır, ancak yakın zamanda güncellenmemiş PR'leri tamamlarken sorunlara neden olabilir.
Bu derleme ilkesi için isteğe bağlı bir Görünen ad girin.
Dal politikaları sayfasında bu isim, politikayı tanımlar. Görünen ad belirtmezseniz, ilke derleme boru hattı adını kullanır.
Kaydet'i seçin.
Çekme isteği sahibi başarıyla derlenebilen değişiklikleri gönderdiğinde ilke durumu güncelleştirilir.
Eğer bir Hemen <dal adı> güncelleştirilirse veya <n> saat sonra <dal adı> güncelleştirilirse derleme politikanız varsa, önceki derleme artık geçerli değilse, korumalı dal güncellendiğinde ilke durumu güncelleştirilir.
Derleme doğrulama ilkesini ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos policy build kullanabilirsiniz.
Derleme doğrulama ilkesi oluşturma
Derleme doğrulama ilkesi oluşturmak için az repos policy build create komutunu kullanın.
az repos policy build create --blocking {false, true}
--branch
--build-definition-id
--display-name
--enabled {false, true}
--manual-queue-only {false, true}
--queue-on-source-update-only {false, true}
--repository-id
--valid-duration
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--path-filter]
[--project]
[--subscription]
Parametreler
| Parametre |
Açıklama |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true.
Gerekli |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
Gerekli |
build-definition-id |
Derleme tanımı kimliği.
Gerekli |
display-name |
Bu derleme ilkesini tanımlamak için ilkenin görünen adını belirleyin. Örneğin: Manual queue policy.
Gerekli |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
Gerekli |
manual-queue-only |
Yalnızca el ile derleme kuyruğuna izin verilip verilmeyeceği. Kabul edilen değerler: false, true.
Gerekli |
queue-on-source-update-only |
Derlemelerin yalnızca kaynak güncelleştirmeleri sırasında kuyruğa alınıp alınmayacağı. Kabul edilen değerler: false, true.
Gerekli |
repository-id |
Sonuçları tam eşleşmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Gerekli |
valid-duration |
İlke geçerlilik süresi (dakika cinsinden).
Not:valid-duration sıfır ile bir yıl arasında olmalı ve --queue-on-source-update-onlyfalse olduğunda sıfır olmalıdır.
Gerekli |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Politikanın uygulanacağı yol. Mutlak yolları, joker karakterleri ve birden çok yolu ; ile ayrılmış olarak 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 az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun dalındaki main çekme istekleri için gerekli bir derleme ilkesi ayarlar. Politika, derleme tanımı kimliği 1 ile başarılı bir derlemeyi gerektirir ve yalnızca elle derleme kuyruğa alma olanağı sağlar. Bu örnekte varsayılan yapılandırması az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"kullanılı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
Derleme doğrulama politikasını güncelleştirme
Derleme doğrulama ilkesini güncelleştirmek için az repos policy build update komutunu kullanın.
az repos policy build update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--build-definition-id]
[--detect {false, true}]
[--display-name]
[--enabled {false, true}]
[--manual-queue-only {false, true}]
[--org]
[--path-filter]
[--project]
[--queue-on-source-update-only {false, true}]
[--repository-id]
[--subscription]
[--valid-duration]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true. |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
build-definition-id |
Derleme tanımı kimliği. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
display-name |
Bu derleme ilkesini tanımlamak için ilkenin görünen adını belirleyin. Örneğin: Manual queue policy. |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true. |
manual-queue-only |
Yalnızca el ile derleme kuyruğuna izin verilip verilmeyeceği. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Politikanın uygulanacağı yollar belirlenir. Mutlak yolları, joker karakterleri ve birden çok yolu ; ile ayrılmış olarak destekler. Örnekler: /WebApp/Models/Data.cs, /WebApp/*veya *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs |
project, p |
Projenin adı veya kimliği. kullanarak varsayılan projeyi az devops configure -d project=<NAME_OR_ID>yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
queue-on-source-update-only |
Derlemelerin yalnızca kaynak güncelleştirmeleri sırasında kuyruğa alınıp alınmayacağı. Kabul edilen değerler: false, true. |
repository-id |
Sonuçları tam eşleşmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
valid-duration |
İlke geçerlilik süresi (dakika cinsinden). |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Durum denetimleri
Dış hizmetler PR Durum API'sini kullanarak pr'lerinize ayrıntılı durum gönderebilir. Ek hizmetler için şube politikası, bu dış hizmetlerin PR iş akışına katılmasına olanak tanır ve politika gerekliliklerini belirlemesini sağlar.
Bu ilkeyi yapılandırma yönergeleri için bkz Dış hizmet için dal ilkesi yapılandırma.
Kod gözden geçirenleri otomatik olarak ekle
Belirli dizinlerdeki ve dosyalardaki dosyaları değiştiren çekme isteklerine veya bir depodaki tüm çekme isteklerine otomatik olarak gözden geçirenler ekleyebilirsiniz.
+'in yanındaki düğmesini seçin.
Yeni gözden geçirme politikası ekle ekranını doldurun.
Gözden Geçirenler'e kişi ve grup ekleyin.
Eğer gözden geçirenleri otomatik olarak eklemek, ancak çekme isteğini tamamlamak için onaylarını gerektirmemek istiyorsanız, İsteğe bağlı'yı seçin.
Veya Gerekli seçeneğini, çekme istekleri belirli bir zamana kadar tamamlanamayacaksa seçin:
- Gözden geçiren olarak eklenen her birey 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 gerekiyorsa, belirttiğiniz en az üye sayısı değişiklikleri onaylar.
Otomatik olarak eklenen gözden geçirenleri gerektiren dosya ve klasörleri belirtin. Daldaki tüm çekme istekleri için gözden geçirenlerin gerekliliğini sağlamak adına bu alanı boş bırakın.
Çekme isteği sahipleri, kendi çekme isteklerini onaylamak için oy kullanabiliyorlarsa, istek sahiplerinin kendi değişikliklerini onaylamasına izin ver seçeneğini belirleyin ve bu politikayı uygulayın.
Çekme isteğinde görünen bir Etkinlik akışı iletisi belirtebilirsiniz.
Kaydet'i seçin.
Azure DevOps CLI az repos policy required-reviewer kullanarak zorunlu gözden geçiren ilkesini ayarlayabilir ve güncelleyebilirsiniz.
Gerekli gözden geçiren politikası oluşturma
Gerekli gözden geçiren ilkesini oluşturmak için az repos policy required-reviewer create komutunu kullanın.
az repos policy required-reviewer create --blocking {false, true}
--branch
--enabled {false, true}
--message
--repository-id
--required-reviewer-ids
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--org]
[--path-filter]
[--project]
[--subscription]
Parametreler
| Parametre |
Açıklama |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true.
Gerekli |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main.
Gerekli |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
Gerekli |
message |
Çekme isteğinde görüntülenen etkinlik akışı iletisi.
Gerekli. |
repository-id |
Sonuçları tam eşleşmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Gerekli |
required-reviewer-ids |
Gözden geçiren e-posta adresleri ; ile ayrılmıştır. Örneğin: john@contoso.com;alice@contoso.com. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Politikanın uygulanacağı yollar belirlenir. Mutlak yolları, joker karakterleri ve birden çok yolu ; ile ayrılmış olarak 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 az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Örnek
Aşağıdaki örnek, Jamal Hartnett'i main dalındaki Fabrikam deposu için çekme isteklerinde zorunlu gözden geçiren olarak ayarlar. Bu örnekte varsayılan yapılandırması az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"kullanılı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 politikasını güncelle
Gerekli gözden geçiren ilkesini güncelleştirmek için az repos policy required-reviewer update komutunu kullanın.
az repos policy required-reviewer update --id
[--blocking {false, true}]
[--branch]
[--branch-match-type {exact, prefix}]
[--detect {false, true}]
[--enabled {false, true}]
[--message]
[--org]
[--path-filter]
[--project]
[--repository-id]
[--required-reviewer-ids]
[--subscription]
Parametreler
| Parametre |
Açıklama |
id, policy-id |
Politikanın kimliği.
Gerekli |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true. |
branch |
Sonuçları tam eşleşmeye göre filtrelemek için dal adı.
--repository-id dal filtresini kullanmak için parametresi gereklidir. Örneğin: --branch main. |
branch-match-type |
İlkeyi uygulamak için branch bağımsız değişkenini kullanarak. Eğer değer exact ise, ilke --branch bağımsız değişkenle tam olarak eşleşen bir dalda uygulanır. Eğer değer prefix ise, ilke --branch bağımsız değişkeninde ön ekle eşleşen tüm dal klasörlerine uygulanır. Kabul edilen değerler: exact, prefix. Varsayılan değer: exact. |
detect |
Organizasyonu otomatik olarak algılayın. Kabul edilen değerler: false, true. |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true. |
message |
Çekme isteğinde görüntülenen etkinlik akışı iletisi. |
org |
Azure DevOps kuruluş URL'si. Varsayılan kuruluşu az devops configure -d organization=<ORG_URL> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . Örnek: https://dev.azure.com/MyOrganizationName/. |
path-filter |
Politikanın uygulanacağı yollar belirlenir. Mutlak yolları, joker karakterleri ve birden çok yolu ; ile ayrılmış olarak 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 az devops configure -d project=<NAME_OR_ID> kullanarak yapılandırabilirsiniz.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
repository-id |
Sonuçları tam eşleşmeyle filtrelemek için depo kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. |
required-reviewer-ids |
Gözden geçiren e-posta adresleri ; ile ayrılmıştır. Örneğin: john@contoso.com;alice@contoso.com. |
subscription |
Aboneliğin adı veya kimliği. kullanarak az account set -s <NAME_OR_ID>varsayılan aboneliği yapılandırabilirsiniz. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Dal politikalarını atla
Bazı durumlarda ilke gereksinimlerini atlamanız gerekebilir. Atlama izinleri, değişiklikleri doğrudan bir dala iletmenize veya dal politikalarını karşılamayan çekme isteklerini tamamlamanıza olanak sağlar. Bir kullanıcıya veya gruba atlama izinleri verebilirsiniz. Atlama izinlerini projenin tamamına, bir depoya veya tek bir dala göre ayarlayabilirsiniz.
İki izin, kullanıcıların dal ilkesini farklı şekillerde atlamasına olanak tanır:
Çekme isteklerini tamamlarken ilkeleri atlama yalnızca çekme isteği tamamlandığında geçerlidir. Bu izne sahip kullanıcılar, ilkeleri karşılamasa bile çekme isteklerini tamamlayabilir.
Push işlemi sırasında ilkeleri atlama yerel depolardan yapılan push'lar ve web'de yapılan düzenlemeler için geçerlidir. Bu izne sahip kullanıcılar, ilke gereksinimlerini karşılamadan değişiklikleri doğrudan korumalı dallara gönderebilir.
Bu izinleri yönetme hakkında daha fazla bilgi için Git izinleri bölümüne bakın.
Önemli
Özellikle depo ve proje düzeylerinde ilkeleri atlama yeteneği verirken dikkatli olun. İlkeler, güvenli ve uyumlu kaynak kodu yönetiminin temel taşlarıdır.
Yol filtreleri
Bazı dallanma ilkeleri yol filtreleri sunar. Yol filtresi ayarlanırsa, ilke yalnızca yol filtresiyle eşleşen dosyalara uygulanır. Bu alanı boş bırakmak, ilkenin daldaki tüm dosyalar için geçerli olduğu anlamına gelir.
Mutlak yollar (yol, ya / ile ya da bir joker karakter ile başlamalıdır) ve joker karakterler belirtebilirsiniz.
Örnekler:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
Ayırıcı olarak kullanarak ; birden çok yol belirtebilirsiniz.
Örnek:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Ön eki ! olan yollar, aksi durumda dahil olsalar bile hariç tutulur.
Örnek:
-
/WebApp/*;!/WebApp/Tests/* içindeki /WebApp dosyalar dışındaki tüm dosyaları içerir /WebApp/Tests
-
!/WebApp/Tests/* önce hiçbir şey dahil edilmediğinden, hiçbir dosyayı belirtmez
Filtrelerin sırası önemlidir. Filtreler soldan sağa uygulanır.
Sorular ve Yanıtlar
Değişiklikleri doğrudan dal ilkeleri olan dallara gönderebilir miyim?
Zorunlu dal ilkelerine sahip dallara, dal ilkelerini atlama izniniz olmadığı sürece, doğrudan değişiklik gönderemezsiniz. Bu dallarda yapılan değişiklikler yalnızca çekme istekleri aracılığıyla yapılabilir. İsteğe bağlı dal ilkelerine sahip ve gerekli dal ilkeleri olmayan dallara değişiklikleri doğrudan gönderebilirsiniz.
Otomatik tamamlama nedir?
Dal politikaları yapılandırılmış dallara yapılan çekme isteklerinde Otomatik tamamlama ayarla düğmesi bulunur. Tüm ilkeleri yerine getirildiğinde otomatik olarak tamamlamak için bu seçeneği belirleyin. Otomatik tamamlama, değişikliklerinizle ilgili herhangi bir sorun beklemediğinizde kullanışlıdır.
Dal ilkesi koşulları ne zaman kontrol ediliyor?
Çekme talebi sahipleri değişiklikleri gönderdiğinde ve gözden geçirenler oy kullandığında dal politikaları sunucuda yeniden değerlendirilir. İlke bir derlemeyi tetiklerse, derleme durumu derleme tamamlanana kadar beklemeye ayarlır.
Dal ilke kurallarında 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 karakterleri kullanabilirim?
Tek yıldız * işaretleri, eğik çizgiler / ve ters eğik çizgiler \ dahil olmak üzere, herhangi bir sayıda karakterle eşleşir. Soru işareti ? herhangi bir tek karakterle eşleşir.
Örnekler:
-
*.sqltüm dosyaları .sql uzantısıyla eşleştirir.
-
/ConsoleApplication/* ConsoleApplication adlı klasörün altındaki tüm dosyaları eşleştirir.
-
/.gitattributes deponun kökündeki.gitattributes* dosyasıyla eşleşir.
-
*/.gitignore depodaki herhangi bir .gitignore dosyasıyla eşleşir.
Gerekli kod gözden geçirme yolları büyük/küçük harfe duyarlı mı?
Hayır, dal ilkeleri harf büyüklüğüne duyarlı değildir.
Kullanıcıları bir gruba ekleyebilir ve ardından grubu gözden geçiren olarak ekleyebilirsiniz. Daha sonra grubun herhangi bir üyesi ilke gereksinimini karşılamak için onaylayabilir.
İlkeyi atlama izinlerine sahibim. Çekme isteği durumunda neden hala ilke hataları görüyorum?
Yapılandırılan ilkeler her zaman çekme isteği (pull request) değişiklikleri için değerlendirilir. Kullanıcıların ilkeyi atlama izinleri varsa, bildirilen ilke durumu yalnızca tavsiye niteliğindedir. Atlama izinlerine sahip kullanıcı onaylarsa, hata durumu çekme isteğinin tamamlanmasını engellemez.
"İstek sahiplerinin kendi değişikliklerini onaylamasına izin ver" ayarı ayarlandığında neden kendi çekme isteklerimi tamamlamıyorum?
Hem En az sayıda gözden geçiren gerektirme politikası hem de Otomatik olarak eklenen gözden geçirenler politikası istekte bulunanların kendi değişikliklerini onaylamasına izin verme seçenekleri sunar. Her ilkede, ayar yalnızca bu ilke için geçerlidir. Ayar diğer ilkeyi etkilemez.
Örneğin, çekme isteğinizde aşağıdaki ilkeler belirlenmiş:
-
En az bir gözden geçiren gerektir en az bir gözden geçiren gerektiğini belirtir.
-
Otomatik olarak eklenen gözden geçirenler için sizin veya içinde olduğunuz bir ekibin gözden geçiren olarak bulunması gerekir.
-
Otomatik olarak eklenen gözden geçirenler , istek sahiplerinin kendi değişikliklerini onaylamasına izin ver seçeneğini etkinleştirmiştir.
-
En az sayıda gözden geçiren gerektir seçeneğinde, istekte bulunanların kendi değişikliklerini onaylamasına izin ver etkin değil.
Bu durumda, onayınız Otomatik olarak eklenen gözden geçirenleri karşılar, ancak Minimum sayıda gözden geçiren gereksinimi karşılamaz, bu nedenle çekme isteğini tamamlayamazsınız.
İstekte bulunanların kendi değişikliklerini onaylamasına izin ver ayarı ayarlanmış olsa bile, "en son göndericinin kendi değişikliklerini onaylamasını yasakla" gibi kendi değişikliklerinizi onaylamanızı engelleyen başka ilkeler de olabilir.
Yol filtrelerindeki yol / ile veya bir joker karakterle başlamadığında ne olur?
Yol filtrelerinde / ile veya bir joker karakterle başlamayan yolun hiçbir etkisi yoktur ve yol filtresi, bu yol belirtilmemiş gibi değerlendirilir. Böyle bir yol, mutlak dosya yolunun / başlangıcıyla eşleşemez.
İlgili makaleler