Azure DevOps Hizmetleri | Azure DevOps Server | Azure DevOps Server 2022
Değişiklikler birleştirilmeden önce çekme isteklerini, incelemeleri, derlemeleri ve diğer denetimleri zorunlu kılarak önemli dalları korumak için dal ilkelerini kullanın. Bu makalede, Azure DevOps web portalında ve Azure DevOps CLI'da dal ilkelerini yapılandırma ve yönetme gösterilmektedir. Kullanılabilir dal ilkeleri ve dallanma yönergelerinin özeti için bkz. Dallar ve dal ilkeleri hakkında.
Dal ilkeleri, depo erişim denetimi, işleme imzalama ve gerçek dünya uygulama senaryolarını kapsayan kapsamlı bir güvenlik kılavuzu için bkz. Güvenli depolar ve çekme istekleri.
Üzerinde zorunlu ilkeler tanımlanmış bir dalı silemezsiniz ve tüm değişiklikler çekme talepleri (PR'ler) üzerinden yapılmalıdır.
Önkoşullar
| Requirement |
Ayrıntılar |
| Permissions |
Project Administrators güvenlik grubunun üyesi olun veya depo düzeyinde İlkeleri Düzenle izinlerine sahip olun. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama. |
| AZURE DEVOPS CLI kurulumu (isteğe bağlı) |
Azure DevOps CLI az repos policy komutlarını kullanmak için Azure DevOps CLI'yi kullanmaya başlama bölümünü tamamlamanız gerekir. |
| CLI için depo hedefleme (isteğe bağlı) |
CLI'da ilke oluşturmadan veya güncelleştirmeden önce komutunu çalıştırarak az repos listdepo kimliğini belirleyin.
--org ve --project değerlerini yeniden girmekten kaçınmak için, varsayılanları az devops configure --defaults ile ayarlayın. |
| İlke bağımlılıkları |
Derleme doğrulamayı yapılandırmadan önce bir derleme işlem hattını hazır bulundurun.
Durum denetimlerini yapılandırmadan önce, dış hizmetin veya yerleşik entegrasyonun çekme isteğinin durumunu zaten gönderebildiğinden emin olun. |
| Yapay zeka yardımı kurulumu (isteğe bağlı) |
Azure DevOps MCP Server ile yapay zeka yardımı kullanmak için Azure DevOps Hizmetleri'ni kullanın, yapay zeka yardımcınızda aracı modunu etkinleştirin ve Node.js 20.0+ sürümünü yükleyin. Daha fazla bilgi için bkz. Azure DevOps MCP Server ile yapay zeka yardımlarını etkinleştirme. |
| Requirement |
Ayrıntılar |
| Permissions |
Proje Yöneticileri güvenlik grubunun bir üyesi olun veya depo düzeyinde İlkeleri düzenleme izinlerine sahip olun. Daha fazla bilgi için bkz . Git deposu izinlerini ayarlama. |
Dal ilkesi ayarlarını aç
Web portalında dal ilkesi ayarlarını açmak için:
-
Depolar>Dallaröğesini seçin.
- Yönetmek istediğiniz dalı bulun.
- Dalın yanındaki Diğer seçenekler simgesini ve ardından Dal ilkeleri'ni seçin.
Ayrıca, dal ilkesi ayarlarını Proje ayarları>Depo>İlkeler>Dal İlkeleri><Dal adı> bölümünden de açabilirsiniz.
İlkeleri olan dallarda bir ilke simgesi görüntülenir. Dalın ilke ayarlarına doğrudan gitmek için simgeyi seçin.
Dal adı ara kutusunda listeye göz atabilir veya dalı arayabilirsiniz.
Dalın ayarlar sayfasında ilkeleri yapılandırın. Her ilkeyi açmak veya var olan bir ilkeyi güncelleştirmek için aşağıdaki bölümleri kullanın.
İlke oluşturmadan veya güncelleştirmeden önce bir dal veya depo için mevcut ilkeleri listelemek için Azure DevOps CLI kullanın.
Azure DevOps CLI'yi sık kullanıyorsanız, ile az devops configure --defaultskuruluşunuz ve projeniz için varsayılan değerleri ayarlayın. İlkenin yalnızca bir dala uygulanmasını istiyorsanız kullanın --branch-match-type exact.
prefix öğesini yalnızca ilkenin release/ gibi bir dal klasörüne uygulanmasını istediğinizde kullanın.
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]
[--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ırın.
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Ö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 alın.
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]
[--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ırın.
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
En düşük gözden geçiren ilkesini ayarlama
Bir çekme isteğinin tamamlanabilmesi için en az sayıda gözden geçirenden onay gerektir.
İ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, PR'yi oluşturan kişi yine de PR'de Onayla oyu verebilir, ancak bu oy asgari gözden geçiren sayısına dahil edilmez.
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun 2 dalındaki çekme istekleri için gereken en düşük onay sayısını main 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 |
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
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. |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Bağlı iş öğeleri zorunludur
İş öğ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 |
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 |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
İş öğ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 |
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun 3 dalının politika kimliğini main 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ülmesi ilkesi yapılandırmak üzere Yorum çözülmesini 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 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 komutunu kullanın.
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 |
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 |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
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 |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
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 |
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Örnek
Aşağıdaki örnek, Fabrikam deposunun 6 dalındaki main 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 çeşitli birleştirme stratejilerini destekler ve varsayılan olarak tümüne izin verir. Tutarlı bir dal geçmişini korumak için PR’nin tamamlanması için birleştirme stratejisini zorunlu kılın.
Deponuzda izin verilen birleştirme türlerini 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.
-
Ezerek birleştirme, kaynak daldaki değişiklikleri içeren ve hedef dalda tek bir işleme sahip 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 policy merge-strategy kullanın.
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 |
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 |
enabled |
İlkeyi etkinleştirin. Kabul edilen değerler: false, true.
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 |
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 |
İ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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
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ı 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. |
blocking |
İlke karşılanmazsa engelleyin. Kabul edilen değerler: false, true. |
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
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ını ayarla
PR tamamlanabilmeden önce, PR değişikliklerinin başarıyla derlenmesini gerektiren bir ilke ayarlayın.
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.
İlke tetikleyicisini Otomatik olarak ayarladığınızda, yeni bir çekme isteği oluşturduğunuzda veya bu dalı hedefleyen mevcut bir çekme isteğine değişiklik gönderdiğinizde derleme doğrulama ilkesi yeni bir derlemeyi kuyruğa alır. İlke tetikleyicisini El ile olarak ayarlarsanız, kullanıcıların derlemeyi kendileri kuyruğa alması gerekir. Her iki durumda da ilke, PR’nin tamamlanıp tamamlanamayacağını belirlemek için derleme sonuçlarını değerlendirir.
Önemli
Derleme doğrulama ilkesi belirtmeden önce bir derleme işlem hattı oluşturun. İş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 komutunu kullanın.
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 |
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 |
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 |
Deponun kimliği, sonuçları tam eşleşmeye göre filtrelemek için. Ö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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Ö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 |
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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 |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
valid-duration |
İlke geçerlilik süresi (dakika cinsinden). |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Durum denetimlerini zorunlu kıl
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.
Durum denetimi ilkesi yapılandırmak için:
- Hizmetin çekme isteği durumunu Azure Repos’a gönderebildiğinden emin olun.
-
Dal ilkeleri altında, Durum denetimleri bölümünde + öğesini seçin.
-
Denetlenecek durum bölümünde listeden gönderilen denetimi seçin. Hizmet henüz durum yayınlamadıysa,
genre/name değerini doğrudan yazın.
-
İlke gereksiniminiGerekli veya İsteğe Bağlı olarak ayarlayın.
- İsteğe bağlı olarak Yetkilendirilmiş kimlik, Sıfırlama koşulları, İlke uygulanabilirliği ve Yol filtresi yapılandırın.
- İlkenin, çekme isteği oluşturulur oluşturulmaz uygulanması gerekiyorsa Varsayılan olarak uygula seçeneğini kullanın.
- İlkenin yalnızca ilk durum gönderildikten sonra uygulanması gerekiyorsa Koşullu seçeneğini kullanın.
- Dalı hedefleyen bir çekme isteği oluşturun veya güncelleştirin ve ilkenin çekme isteğinin İlkeler bölümünde göründüğünü onaylayın.
Azure DevOps Services için yerleşik denetimler ve bunlara ait genre/name tanımlayıcılar için bkz: Kullanılabilir çekme isteği durumu denetimleri. Dış hizmet kurulumuyla ilgili ayrıntılı adım adım açıklama için bkz. Bir dış hizmet için dal ilkesi yapılandırma.
Açılan listede henüz yeni bir tümleştirme görünmüyorsa, hizmetten bir kez durum gönderin ve ardından ilkeyi ekleyin veya genre/name değerini doğrudan yazın.
İnceleyicileri 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.
Gerekli gözden geçiren ilkesini ayarlamak ve güncelleştirmek için Azure DevOps CLI az repos policy required-reviewer komutunu kullanın.
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 |
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 |
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 |
Deponun kimliği, sonuçları tam eşleşmeye göre filtrelemek için. Ö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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Ö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 |
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. |
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.
az devops configure -d project=<NAME_OR_ID>kullanarak varsayılan projeyi yapılandırın.
Varsayılan olarak yapılandırılmadıysa veya git yapılandırması aracılığıyla alınmadıysa gereklidir . |
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. |
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.
az account set -s <NAME_OR_ID>kullanarak varsayılan aboneliği yapılandırın. |
Azure DevOps CLI komutları Azure DevOps Server için desteklenmez.
Gerektiğinde ilkenin atlanmasına izin ver
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 verebilir ve bu izinleri projenin tamamı, depo veya tek bir dal için kapsam olarak 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.
Dal ilkeleriyle yol filtrelerini kullanın
Çeşitli dal ilkeleri yol filtrelerini destekler. Yol filtresi ayarlarsanız, ilke yalnızca filtreyle eşleşen dosyalara uygulanır. İlkeyi daldaki tüm dosyalara uygulamak için bu alanı boş bırakın.
Mutlak yolları (yol / veya bir joker karakter ile başlamalıdır) ve joker karakterleri 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
Yolların başına ! öneki getirirseniz, aksi takdirde dahil edilecek olsalar bile bu yolları hariç tutarsınız.
Ö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. Filtreleri soldan sağa uygulayın.
Dal ilkeleriyle ilgili sorunları giderme
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 yalnızca çekme istekleri aracılığıyla değişiklik yapabilirsiniz. İsteğe bağlı dal ilkelerine sahip ve gerekli dal ilkeleri olmayan dallara değişiklikleri doğrudan gönderebilirsiniz.
Otomatik tamamlama nedir?
Çekme istekleri için yapılandırılan dal ilkelerine sahip dallarda Otomatik tamamlama ayarla düğmesi vardır. Bu seçeneği, çekme isteğini tüm ilkeleri karşıladığında otomatik tamamlanacak şekilde ayarlamak için seçin. Otomatik tamamlama, değişikliklerinizle ilgili herhangi bir sorun beklemediğinizde kullanışlıdır.
Dal ilkesi koşulları ne zaman kontrol ediliyor?
Sunucu, çekme talebi sahipleri değişiklik gönderdiğinde ve gözden geçirenler oy verdiğinde dal ilkelerini yeniden değerlendirir. İ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şareti *, hem eğik çizgiler / hem de ters eğik çizgiler \ dahil olmak üzere, herhangi bir sayıdaki 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 talebi durumunda neden hala politika hataları görüyorum?
Sistem, çekme talebindeki değişiklikler için yapılandırılmış ilkeleri her zaman değerlendirir. İlke atlama iznine sahip kullanıcılar için raporlanan ilke durumu yalnızca bilgilendirme amaçlıdı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ı yaptığımda 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.
İstek sahiplerinin kendi değişikliklerini onaylamasına izin ver ayarlanmış olsa bile, diğer ilkeler kendi değişikliklerinizi onaylamanızı engelleyebilir. Örneğin, en son göndericinin kendi değişikliklerini onaylamasını yasaklayın.
Bir yol filtresi / veya bir joker karakter ile başlamazsa ne olur?
Yol filtrelerinde, / veya joker karakterle başlamayan bir yolun hiçbir etkisi olmaz. Yol filtresi, bu yol belirtilmemiş gibi değerlendirilir. Böyle bir yol, mutlak dosya yolunun / başlangıcıyla eşleşemez.
Azure DevOps MCP Sunucusu'nu yapılandırırsanız, Azure DevOps Services'ta dal ilkelerini güncelleştirmeden önce depo, dal, çekme isteği ve derlemeyle ilgili bağlam bilgilerini toplamak için doğal dili kullanabilirsiniz.
Azure DevOps MCP Sunucusu için Azure DevOps Hizmetleri, yapay zeka yardımcınızda aracı modu ve Node.js 20.0+ gerekir. Geçerli MCP belgelerinde doğrudan dal ilkesi okuma veya yazma eylemleri açıklanmadığından, ilkeleri oluşturmak ve güncelleştirmek için Azure DevOps web portalını veya Azure DevOps CLI'yi kullanın.
| Görev |
Örnek talimat |
| Depodaki dalları listele |
List the branches in repo <Contoso.Web> in project <Contoso> |
| Politikayı sıkılaştırmadan önce çekme isteklerini gözden geçirin |
What pull requests require my review in project <Contoso>? |
| Çekme isteğini ve bağlı iş öğelerini incele |
Get details for pull request <67> and its linked work items in project <Contoso> |
| Derleme doğrulamayı gerekli hale getirmeden önce derleme durumunu denetleyin |
Get the latest build status for pipeline <Contoso-CI> in project <Contoso> |
Note
Visual Studio Code kullanıyorsanız, aracı modu özellikle dal ilkelerini güncelleştirmeden önce ihtiyacınız olan proje bağlamını toplamak için yararlıdır.
İlgili içerik