Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
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ığı dal silinemez ve tüm değişiklikler için çekme istekleri (PR) gerektirir.
Önkoşullar
Dal ilkelerini ayarlamak için Proje Yöneticileri güvenlik grubunun üyesi olmanız veya depo düzeyinde İlkeleri düzenleme izinlerine sahip olmanız gerekir. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama.
Dal ilkelerini ayarlamak için Proje Yöneticileri güvenlik grubunun üyesi olmanız veya depo düzeyinde İlkeleri düzenleme izinlerine sahip olmanız gerekir. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama.
Dal ilkelerini yönetmek için Depo>Dalları'nı seçerek web portalında Dallar sayfasını açın.
Ayrıca, Proje Ayarları>Depo>İlkeleri 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.
Sayfada dalınızı bulun. Listeye göz atabilir veya sağ üstteki Tüm dallarda ara kutusunu kullanarak dalınızı arayabilirsiniz.
... düğmesini seçin. 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.
İlkeler sayfasında ilkelerinizi 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 dal veya deponun ilkelerini listelemek veya göstermek için Azure DevOps CLI'yi kullanabilirsiniz.
Liste ilkeleri
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
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.
detect
Kuruluşu otomatik olarak algılayın. Kabul edilen değerler: false, true.
org, organization
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 .
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
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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 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
İlkenin kimliği. Gerekli.
detect
Kuruluşu otomatik olarak algılayın. Kabul edilen değerler: false, true.
org, organization
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 .
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. Ekiplerin ÇEKME'leri gözden geçirmesini ve onaylamasını sağlamak için, en az 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'nin altında En az sayıda gözden geçirengerektir 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 sahibinin kendi değişikliklerini onaylamasına izin ver'i seçerek pr'yi oluşturan kişinin onayını oylayabilir. Aksi takdirde, oluşturucu çekme isteğinde Onayla oyu verebilir, ancak oyları en az gözden geçiren sayısına kadar sayılmaz.
Görevlerin ayrıştırmasını zorunlu kılmak için en son göndericinin kendi değişikliklerini onaylamasını yasakla'yı seçin. Varsayılan olarak, kaynak dalda anında iletme izni olan herkes hem işleme ekleyebilir hem de çekme isteği onayına oy verebilir. 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 onaya karşı oy kullansalar bile çekme isteğinin tamamlanmasına izin vermek için beklemeye veya reddetmeye oy verse bile 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 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 (reddetmek veya beklemek için oyları sıfırlamaz), ancak kaynak dal değiştiğinde reddetmek veya beklemek için oyları koruyun'ı 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.
Yeni değişiklikler gönderildiğinde altında:
Son kaynak dal değişikliği için en az bir onay oyu gerektirmek için 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 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 (reddetmek veya beklemek için oyları sıfırlamaz), ancak kaynak dal değiştiğinde reddetmek veya beklemek için oyları koruyun'ı 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.
İstek sahipleri kendi değişikliklerini onaylayabilirse, çekme isteğini oluşturan yine çekme isteğinde Onayla oyu verebilir, ancak oyları En az gözden geçiren sayısına kadar sayılmaz.
Gözden geçirenlerden herhangi biri değişiklikleri reddederse, bazı gözden geçirenler beklemeye veya reddetmeye oy verse bile Tamamlamaya izin ver'i seçmediğiniz sürece çekme isteği tamamlayamaz.
Kaynak dala yeni değişiklikler gönderildiğinde kod gözden geçiren oylarını sıfırlayabilirsiniz. Yeni değişiklikler olduğunda Kod gözden geçiren oylarını sıfırla'yı seçin.
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 çekme isteği gerekli onaylayan sayılarını yönetebilirsiniz.
Onaylayan sayısı ilkesi oluşturma
Onaylayan sayısı ilkesi oluşturmak için az repos policy approver-count create komutunu kullanın.
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
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.
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 sayısı. Örneğin: 2. Gerekli.
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için deponun kimliği. Ö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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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.
Örnek
Aşağıdaki örnek, Fabrikam deposunun dalındaki çekme istekleri main için gereken en düşük onay 2 sayısını olarak ayarlar. İlke, aşağı oylara izin verir; başka bir deyişle, bazı gözden geçirenler onaylamamak için oy kullansalar bile çekme istekleri tamamlanabilir. 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
Onaylayan sayısı ilkesini güncelleştirmek için az repos policy approver-count update komutunu kullanın.
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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen tüm dal klasörlerine --branch 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
Kuruluşu 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 sayısı. Örneğin: 2.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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'nin altında Bağlı iş öğelerini denetle seçeneğini Açık olarak ayarlayın. Bu ayar, iş öğelerinin çekme isteğinin birleştirilmesi için bir çekme isteğine bağlanmasını gerektirir. Bağlı iş öğesi olmadığında uyarmak, ancak çekme isteğinin tamamlanmasına izin vermek için İsteğe bağlı ayarını İ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 için az repos policy work-item-linking create komutunu kullanın.
İ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şmeye göre filtrelemek için deponun kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
İlkeyi branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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.
İş öğesi bağlama ilkesini güncelleştirme
Bir depo veya bir veya daha fazla dal için iş öğesi bağlama ilkesini güncelleştirmek için az repos policy work-item-linking update komutunu kullanın.
İ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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ı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 sayısı. Örneğin: 2.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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 ilke kimliğini 3 etkinleştirilecek 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.
Açıklama çözümlemesini denetleme
Açıklama çözümlemesini denetle ilkesi, tüm çekme isteği açıklamalarının çözümlenip çözümlenmediğini denetler.
Yorum çözümlemesini denetle seçeneğini Açık olarak ayarlayarak dalınız için bir açıklama çözümlemeilkesi yapılandırın. Ardından ilkenin Gerekli mi yoksa İsteğe bağlı mı yapılıp yapılmayacağını seçin.
Çekme isteği açıklamalarıyla çalışma hakkında daha fazla bilgi için bkz . Çekme isteklerini gözden geçirme.
Yorum çözümlemesini denetle'yi seçerek dalınız için bir açıklama çözümleme ilkesi yapılandırın.
Çekme isteği açıklamalarıyla çalışma hakkında daha fazla bilgi için bkz . Çekme isteklerini gözden geçirme.
Açıklama çözümleme ilkesini ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos policy comment-required kullanabilirsiniz.
Açıklama çözümleme ilkesi oluşturma
Açıklama çözümleme ilkesi oluşturmak için az repos policy comment-required create komutunu kullanın.
İ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şmeye göre filtrelemek için deponun kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Gerekli.
branch-match-type
İlkeyi branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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.
Açıklama çözümleme ilkesini güncelleştirme
Açıklama çözümleme ilkesini güncelleştirmek için az repos policy comment-required update komutunu kullanın.
İ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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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 dalındaki main açıklama çözümleme ilkesi kimliğini 6 engellenecek şekilde güncelleştirir. Çekme isteklerinin birleştirebilmesi için açıklamalar çözümlenmelidir. 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. Çekme isteği tamamlama için birleştirme stratejisini zorunlu tutarak 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.
Sıkıştırarak birleştirme , kaynak daldaki değişikliklerle hedef dalda tek bir işleme ile doğrusal bir geçmiş oluşturur. Squash birleştirme ve dal geçmişini nasıl etkilediği hakkında daha fazla bilgi edinin.
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 yeniden temel alma, kaynak işlemeleri hedefte yeniden yürüter ve ayrıca bir birleştirme işlemesi oluşturur.
Not
Bu özellik Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir.
İ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şmeye göre filtrelemek için deponun kimliği. Örneğin, --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. 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 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
İlkeyi branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 birleştirmeyi sıkıştır. 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.
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 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.
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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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 .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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 birleştirmenin sıkıştırılıp sıkıştırılmayacağı. 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.
Birleştirme stratejisini zorunlu kılma
Çekme isteği tamamlandığında birleştirme stratejisini zorunlu tutarak tutarlı bir dal geçmişini koruyun.
Birleştirme stratejisini zorla'yı seçin ve çekme isteklerinin bu stratejiyi kullanarak birleştirilmesini gerektirecek bir seçenek belirleyin.
Hızlı birleştirme yok - Bu seçenek, çekme isteği kapandığında ve hedef dalda birleştirme işlemesi oluşturduğunda kaynak dalın işleme geçmişini birleştirir.
Sıkıştırarak birleştirme - Kaynak daldaki değişikliklerle hedef dalda tek bir işleme oluşturarak squash birleştirme ile tüm çekme isteklerini tamamlayın. Squash birleştirme ve dal geçmişinizi nasıl etkilediği hakkında daha fazla bilgi edinin.
Derleme doğrulaması
Çekme isteği tamamlanmadan önce çekme isteği değişikliklerinin başarıyla oluşturulmasını gerektiren bir ilke ayarlayabilirsiniz.
İlkeler oluşturma, kesintileri azaltır ve test sonuçlarınızı geçirmeyi sürdürün. Derleme ilkeleri, sorunları erken yakalamak için geliştirme dallarınızda sürekli tümleştirme (CI) kullanıyor olsanız bile yardımcı olur.
Derleme doğrulama ilkesi, yeni bir çekme isteği oluşturulduğunda veya değişiklikler dalı hedefleyen mevcut bir çekme isteğine gönderildiğinde yeni bir derlemeyi kuyruğa alır. Derleme ilkesi, çekme isteğinin tamamlanıp tamamlanamadığını belirlemek için derleme sonuçlarını değerlendirir.
Önemli
Derleme doğrulama ilkesi belirtmeden önce bir derleme işlem hattına sahip olmanız gerekir. İşlem hattınız yoksa bkz . Derleme işlem hattı oluşturma. Proje türünüzle eşleşen derleme türünü seçin.
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 ÇEKME'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.
Dal adı güncelleştirildiğinde 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 çekme isteği değişikliklerinin başarıyla oluşturulmasını 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ştirdiğinde bir derlemeyi beklemeyi kesintiye uğratabilir.
Dal adı> güncelleştirildiyse <n> saat sonra<: Geçiş derlemesi girdiğiniz eşikten daha eskiyse korumalı dal güncelleştirildiğinde bu seçenek geçerli ilke durumunun süresinin dolmasına neden olur. Bu seçenek, korumalı dal güncelleştirildiğinde her zaman veya hiçbir zaman derleme gerektirmeme arasında bir risktir. Bu seçenek, korumalı dalınızın sık sık güncelleştirmeleri olduğunda derleme 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 son zamanlarda güncelleştirilmedi PR'leri tamamlarken sorunlara neden olabilir.
Bu derleme ilkesi için isteğe bağlı bir Görünen ad girin. Bu ad, Dal ilkeleri sayfasında ilkeyi tanımlar. Görünen ad belirtmezseniz, ilke derleme işlem 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.
Dal adı güncelleştirildiğinde hemen veya dal adı>> güncelleştirildiyse n> saat sonra <derleme ilkeniz varsa<, önceki derleme artık geçerli değilse korumalı dal güncelleştirildiğinde ilke durumu güncelleştirilir.<
Not
Bu özellik Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir.
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.
İ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
İlkeyi tanımlamak için bu derleme ilkesinin görünen adı. Ö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şmeye göre filtrelemek için deponun 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 olduğunda --queue-on-source-update-onlyfalsesıfır olmalıdır. Gerekli.
branch-match-type
İlkeyi branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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
İlkenin uygulanacağı yol uygulanır. ile ;ayrılmış mutlak yolları, joker karakterleri ve 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. 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.
Örnek
Aşağıdaki örnek, Fabrikam deposunun dalındaki main çekme istekleri için gerekli bir derleme ilkesi ayarlar. İlke, derleme tanımı kimliğinin 1başarılı bir derlemesini gerektirir ve yalnızca el ile 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 ilkesini güncelleştirme
Derleme doğrulama ilkesini güncelleştirmek için az repos policy build update komutunu kullanın.
İ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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
display-name
İlkeyi tanımlamak için bu derleme ilkesinin görünen adı. Ö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. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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
İlkenin uygulanacağı yollar uygulanır. ile ;ayrılmış mutlak yolları, joker karakterleri ve 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. 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şmeye göre filtrelemek için deponun 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.
Çekme isteğinin tamamlanmadan önce korumalı dal ile başarıyla derlenebilmesi için çekme isteğinde değişiklik gerektiren bir ilke ayarlayın.
İlkeler oluşturma, kesintileri azaltır ve test sonuçlarınızı geçirmeyi sürdürün. Derleme ilkeleri, sorunları erken yakalamak için geliştirme dallarınızda sürekli tümleştirme (CI) kullanıyor olsanız bile yardımcı olur.
Derleme doğrulama ilkesi etkinleştirilirse, yeni bir çekme isteği oluşturulduğunda veya dalını hedefleyen mevcut bir çekme isteğine değişiklikler gönderildiğinde yeni bir derleme kuyruğa alınır. Ardından derleme ilkesi, çekme isteğinin tamamlanıp tamamlanamadığını belirlemek için derlemenin sonuçlarını değerlendirir.
Önemli
Derleme doğrulama ilkesi belirtmeden önce bir derleme tanımına sahip olmanız gerekir. Uygulamanız yoksa bkz . Derleme tanımı oluşturma ve proje türünüzle eşleşen derleme türünü seçme.
Derleme ilkesi ekle'yi seçin ve Derleme ilkesi ekleme bölümünde seçeneklerinizi yapılandırın.
Derleme tanımını seçin.
Tetikleyici türünü seçin. Otomatik (kaynak dal her güncelleştirildiğinde) veya El ile'yi seçin.
İlke gereksinimini seçin. Gerekli'yi seçerseniz, çekme isteklerini tamamlamak için derlemelerin başarıyla tamamlanması gerekir. Derleme hatasıyla ilgili bir bildirim sağlamak ancak yine de çekme isteklerinin tamamlanmasına izin vermek için İsteğe Bağlı'yı seçin.
Korumalı dalınızın güncelleştirmelerinin açık çekme isteklerindeki değişiklikleri bozmadığından emin olmak için bir derleme süre sonu ayarlayın.
Hemen güncelleştirildiğindebranch name: Bu seçenek, korumalı dal güncelleştirildiğinde çekme isteğindeki derleme ilkesi durumunu başarısız olacak şekilde ayarlar. Derleme durumunu yenilemek için derlemeyi yeniden sorgula. Bu ayar, korumalı dal değiştikçe bile çekme isteklerindeki değişikliklerin başarıyla oluşturulmasını sağlar. Bu seçenek, daha düşük hacimli değişikliklere sahip önemli dallara sahip ekipler için en iyisidir. Yoğun geliştirme dallarında çalışan ekipler, korumalı dal her güncelleştirildiğinde derlemenin tamamlanmasını beklemeyi kesintiye uğratabilir.
Güncelleştirildiyse saatler branch name sonran: Bu seçenek, geçen derleme girilen eşikten daha eskiyse korumalı dal güncelleştirildiğinde geçerli ilke durumunun süresinin dolmasına neden olur. Bu seçenek, korumalı dal güncelleştirildiğinde her zaman derleme gerektirme ve hiçbir zaman gerektirmeme arasında bir risktir. Bu seçenek, korumalı dalınızın sık sık güncelleştirmeleri olduğunda derleme sayısını azaltmak için mükemmeldir.
Hiçbir zaman: Korumalı dal güncelleştirmeleri ilke durumunu değiştirmez. Bu değer, dalınızın derleme sayısını azaltır. Yakın zamanda 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, Dal ilkeleri sayfasında ilkeyi tanımlar. Görünen ad belirtmezseniz, ilke derleme tanımı adını kullanır.
Kaydet'i seçin.
Sahip başarıyla derlenen değişiklikleri gönderdiğinde, ilke durumu güncelleştirilir. Güncelleştirildiğinde branch name hemen veya güncelleştirilen derleme ilkesi seçildiyse saatler sonra n seçeneğiniz varsabranch name, en son derleme artık geçerli değilse korumalı dal güncelleştirildiğinde ilke durumu güncelleştirilir.
Durum denetimleri
Dış hizmetler PR Durum API'sini kullanarak pr'lerinize ayrıntılı durum gönderebilir. Ek hizmetler için dal ilkesi, bu dış hizmetlerin çekme isteği iş akışına katılmasını ve ilke gereksinimlerini oluşturmasını sağlar.
Bu ilkeyi yapılandırma yönergeleri için bkz . Dış hizmet için dal ilkesi yapılandırma.
Dış hizmetlerden onay iste
Dış hizmetler PR Durum API'sini kullanarak pr'lerinize ayrıntılı durum gönderebilir. Ek hizmetler için dal ilkesi, bu dış hizmetlerin çekme isteği iş akışına katılma ve ilke gereksinimleri oluşturma olanağı getirir.
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.
+ Gözden geçirenleri otomatik olarak ekle'nin yanındaki düğmeyi seçin.
Yeni gözden geçiren ilkesi ekle ekranını doldurun.
Gözden Geçirenler'e kişi ve grup ekleyin.
Gözden geçirenleri otomatik olarak eklemek, ancak çekme isteğini tamamlamak için onay istememek istiyorsanız İsteğe bağlı'yı seçin.
Veya çekme istekleri şu zamana kadar tamamlanamazsa Gerekli'yi 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çirenleri gerektirmek 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 kullanabiliyorsa istek sahiplerinin kendi değişikliklerini onaylamasına izin ver'i seçin.
Çekme isteğinde görünen bir Etkinlik akışı iletisi belirtebilirsiniz.
Kaydet'i seçin.
Not
Bu özellik Azure DevOps Server 2020 ve sonraki sürümlerde kullanılabilir.
Gerekli gözden geçiren ilkesini ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos policy required-reviewer kullanabilirsiniz.
Gerekli gözden geçiren ilkesi oluşturma
Gerekli gözden geçiren ilkesini oluşturmak için az repos policy required-reviewer create komutunu kullanın.
İ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.
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
org
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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
İlkenin uygulanacağı yollar uygulanır. ile ;ayrılmış mutlak yolları, joker karakterleri ve 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. 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.
Örnek
Aşağıdaki örnek Jamal Hartnett'i Fabrikam deposunun dalındaki main çekme istekleri için gerekli 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 ilkesini güncelleştirme
Gerekli gözden geçiren ilkesini güncelleştirmek için az repos policy required-reviewer update komutunu kullanın.
İ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 branch 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 --branch uygulanır. değer ise prefix, ilke bağımsız değişkenindeki ön ekle eşleşen 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ılayın. Kabul edilen değerler: false, true.
enabled
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
Azure DevOps kuruluş URL'si. kullanarak varsayılan kuruluşu az devops configure -d organization=<ORG_URL>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
İlkenin uygulanacağı yollar uygulanır. ile ;ayrılmış mutlak yolları, joker karakterleri ve 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. 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 .
repository-id
Sonuçları tam eşleşmeye göre filtrelemek için deponun 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.
Deponuzdaki belirli dizinler ve dosyalar için 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'yi seçerseniz çekme isteği şu zamana kadar tamamlanamaz:
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çirenlerin sayısı değişiklikleri onaylar.
Gözden geçirenleri otomatik olarak eklemek, ancak çekme isteğini tamamlamak için onay istememek istiyorsanız İsteğe bağlı'yı seçin.
İstek sahipleri kendi değişikliklerini onaylayabilir'i seçebilirsiniz.
Gerekli tüm gözden geçirenler kodu onayladığında çekme isteğini tamamlayabilirsiniz.
Dal ilkelerini atlama
Bazı durumlarda ilke gereksinimlerini atlamanız gerekebilir. İzinleri atlama, değişiklikleri doğrudan bir dala göndermenize veya dal ilkelerini karşılamayen çekme isteklerini tamamlamanıza olanak sağlar. Bir kullanıcıya veya gruba atlama izinleri verilmektedir. 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ğinin tamamlanması için geçerlidir. Bu izne sahip kullanıcılar, çekme istekleri ilkeleri karşılamasa bile çekme isteklerini tamamlayabilir.
Gönderme sırasında ilkeleri atlama, yerel depolardan yapılan gönderimler 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 bkz . Git izinleri.
TFS 2015 ile TFS 2018 Güncelleştirme 2 arasında İlkeden muaf tutma izni, bu izne sahip kullanıcıların aşağıdaki eylemleri gerçekleştirmesine olanak tanır:
Geçerli dal ilkeleri kümesi karşılanmasa bile ilkeleri geçersiz kılmayı ve çekme isteğini tamamlamayı kabul edin.
Dal ilkeleri ayarlanmış olsa bile doğrudan bir dala gönderin. Bu izne sahip bir kullanıcı dal ilkesini geçersiz kabilecek bir gönderim yaptığında, gönderme, kabul etme adımı veya uyarısı olmadan dal ilkesini otomatik olarak atlar.
Ö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
Çeşitli dal 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 (yolun joker karakterle veya joker karakterle / başlaması gerekir) 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 ekli ! yollar, aksi takdirde dahil edilirlerse dışlanır.
Örnek:
/WebApp/*;!/WebApp/Tests/* içindeki /WebApp dosyalar dışındaki tüm dosyaları içerir /WebApp/Tests
!/WebApp/Tests/* hiçbir dosya belirtmez, çünkü önce hiçbir şey dahil değildir
Filtrelerin sırası önemlidir. Filtreler soldan sağa uygulanır.
Dal ilkeleri yapılandırılmış dallara çekme isteklerinde Otomatik tamamlama ayarla düğmesi bulunur. Çekme isteğini tüm ilkeleri yerine getirdikten sonra 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 denetleniyor?
Çekme isteği sahipleri değişiklikleri gönderdiğinde ve gözden geçirenler oyladığında dal ilkeleri sunucuda yeniden değerlendirilir. İlke bir derlemeyi tetiklerse, derleme durumu derleme tamamlanana kadar beklemeye ayarlı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 karakterleri kullanabilirim?
Tek yıldız * işaretleri, hem eğik çizgi hem de ters eğik çizgi / de dahil olmak üzere herhangi bir sayıda karakterle eşleşir \. Soru işaretleri ? tek bir karakterle eşleşsin.
Ö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.
*/.gitignore depodaki herhangi bir .gitignore dosyasıyla eşleşir.
Gerekli kod gözden geçiren yolları büyük/küçük harfe duyarlı mı?
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 yalnızca birinin onaylamasını gerekli kılabilir miyim?
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 değişiklikleri için değerlendirilir. İlkeyi atlama izinlerine sahip kullanıcılar için bildirilen ilke durumu yalnızca danışmanlıktır. 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 gerektir ilkesinde hem de Otomatik olarak eklenen gözden geçirenler ilkesinde, istekte bulunanların kendi değişikliklerini onaylamasına izin ver seçenekleri vardır. 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 ayarlanmış:
En az sayıda gözden geçiren gerektir, en az bir gözden geçiren gerektirir.
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ğildir.
Bu durumda, onayınız Otomatik olarak eklenen gözden geçirenleri karşılar, ancak En az sayıda gözden geçiren gerektir'e gerek yoktur, bu nedenle çekme isteğini tamamlayamazsınız.
İstekte bulunanların kendi değişikliklerini onaylamasına izin ver ayarı ayarlanmış olsa bile kendi değişikliklerinizi onaylamanızı engelleyen en son göndericinin kendi değişikliklerini onaylamasını yasakla gibi başka ilkeler de olabilir.
Yol filtrelerindeki yol joker karakterle veya joker karakterle / başlamadığında ne olur?
Yol filtrelerinde joker karakterle / veya 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.