Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Zásady větví pomáhají týmům chránit důležité větve vývoje. Zásady vynucuje standardy správy kódu a kvality kódu vašeho týmu. Tento článek popisuje, jak nastavit a spravovat zásady větví. Přehled všech zásad a nastavení úložiště a větví najdete v tématu Nastavení a zásady úložiště Git.
Větev s nakonfigurovanými požadovanými zásadami se nedá odstranit a vyžaduje žádosti o přijetí změn pro všechny změny.
Požadavky
Pokud chcete nastavit zásady větve, musíte být členem skupiny zabezpečení Project Administrators nebo mít oprávnění k úpravám na úrovni úložiště. Další informace najdete v tématu Nastavení oprávnění úložiště Git.
Pokud chcete nastavit zásady větve, musíte být členem skupiny zabezpečení Project Administrators nebo mít oprávnění k úpravám na úrovni úložiště. Další informace najdete v tématu Nastavení oprávnění úložiště Git.
Pokud chcete spravovat zásady větví, vyberte Větve repos>a otevřete stránku Větve na webovém portálu.
Můžete se také dostat k nastavení zásad větve pomocí názvu> větve zásad><úložiště>nastavení>>projektu.
Větve, které mají zásady, zobrazují ikonu zásad. Ikonu můžete vybrat a přejít přímo do nastavení zásad větve.
Pokud chcete nastavit zásady větve, vyhledejte větev, kterou chcete spravovat. Seznam můžete procházet nebo hledat svoji větev v poli Prohledat název větve v pravém horním rohu.
Vyberte ikonu Další možnosti vedle větve a pak v místní nabídce vyberte Zásady větve.
Na stránce vyhledejte svoji větev. Seznam můžete procházet nebo můžete vyhledat svoji větev pomocí pole Prohledat všechny větve v pravém horním rohu.
Vyberte tlačítko ... . V místní nabídce vyberte zásady větve.
Nakonfigurujte zásady na stránce nastavení větve. Popisy a pokyny pro jednotlivé typy zásad najdete v následujících částech.
Nakonfigurujte zásady na stránce Zásady . Popis jednotlivých typů zásad najdete v následujících částech. Vyberte Uložit změny , aby se použila nová konfigurace zásad.
Pomocí Azure DevOps CLI můžete vypsat nebo zobrazit zásady pro větev nebo úložiště.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parametry
Parametr
Popis
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org, organization
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
query-examples
Doporučený řetězec JMESPath Můžete zkopírovat jeden z dotazů a vložit ho --query za parametr v uvozovkách, aby se zobrazily výsledky. Můžete přidat jedno nebo více pozičních klíčových slov, takže návrhy jsou založené na těchto klíčových slovech.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příklad
Následující příkaz vrátí všechny zásady větví, které se projeví ve main větvi úložiště Fabrikam, ID d28cd374-e7f0-4b1f-ad60-f349f155d47c. ID úložiště můžete získat spuštěním příkazu az repos list.
Tento příklad používá následující výchozí konfiguraci: az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy list --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --branch main --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- --------------------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
5 Minimum number of reviewers True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
6 Comment requirements False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
12 Required reviewers True False d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
13 Required reviewers False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parametry
Parametr
Popis
id, policy-id
ID zásady. Povinný:
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org, organization
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
query-examples
Doporučený řetězec JMESPath Můžete zkopírovat jeden z dotazů a vložit ho --query za parametr v uvozovkách, aby se zobrazily výsledky. Můžete přidat jedno nebo více pozičních klíčových slov, takže návrhy jsou založené na těchto klíčových slovech.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Vyžadovat minimální počet revidujících
Revize kódu jsou důležité pro projekty vývoje softwaru. Abyste zajistili, že týmy kontrolují a schvalují žádosti o přijetí změn, můžete vyžadovat schválení od minimálního počtu revidujících. Základní zásada vyžaduje, aby zadaný počet revidujících kód schválil bez zamítnutí.
Pokud chcete nastavit zásadu, nastavte v části Zásady větve minimální počet kontrolorů na Zapnuto. Zadejte požadovaný počet revidujících a vyberte některou z následujících možností:
Vyberte Možnost Povolit žadatele, aby schválili své vlastní změny , aby autor žádosti o přijetí změn mohl hlasovat o schválení. Jinak může autor hlasovat pro žádost o přijetí změn, ale jeho hlas se nezapočítává do minimálního počtu revidujících.
Pokud chcete vynutit oddělení povinností, vyberte Zakázat nejnovější nabízení souhlasu s vlastními změnami . Ve výchozím nastavení může každý, kdo má ve zdrojové větvi oprávnění push, přidávat potvrzení i hlasovat o schválení žádosti o přijetí změn. Když vyberete tuto možnost, znamená to, že hlas posledního nabízeného uživatele se nepočítá, i když může obvykle schvalovat své vlastní změny.
Vyberte Povolit dokončení, i když někteří revidujícím hlasují, že budou čekat nebo odmítnout , aby povolili dokončení žádosti o přijetí změn, i když někteří revidujícím hlasují proti schválení. Minimální počet revidujících musí stále schvalovat.
V části Při vložení nových změn:
V poslední iteraci vyberte Vyžadovat aspoň jedno schválení, pokud chcete pro poslední změnu zdrojové větve vyžadovat alespoň jeden schvalovací hlas.
Pokud chcete odebrat všechna hlasování o schválení, vyberte Obnovit všechna hlasování schválení (nevynuluje hlasy, které chcete odmítnout nebo počkat), ale hlasy můžete odmítnout nebo počkat, kdykoli se změní zdrojová větev.
Výběrem možnosti Obnovit všechny hlasy revidujících kódu odeberete všechny hlasy revidujících, kdykoli se zdrojová větev změní, včetně hlasů ke schválení, odmítnutí nebo čekání.
V části Při vložení nových změn:
V každé iteraci vyberte Vyžadovat alespoň jedno schválení, pokud chcete pro poslední změnu zdrojové větve vyžadovat alespoň jeden schvalovací hlas. Schválení uživatele se nezapočítává do žádné předchozí neschválené iterace odeslané tímto uživatelem. V důsledku toho se vyžaduje další schválení poslední iterace jiným uživatelem. V Azure DevOps Serveru 2022.1 a novějším je vyžadováno alespoň jedno schválení každé iterace .
V poslední iteraci vyberte Vyžadovat aspoň jedno schválení, pokud chcete pro poslední změnu zdrojové větve vyžadovat alespoň jeden schvalovací hlas.
Pokud chcete odebrat všechna hlasování o schválení, vyberte Obnovit všechna hlasování schválení (nevynuluje hlasy, které chcete odmítnout nebo počkat), ale hlasy můžete odmítnout nebo počkat, kdykoli se změní zdrojová větev.
Výběrem možnosti Obnovit všechny hlasy revidujících kódu odeberete všechny hlasy revidujících, kdykoli se zdrojová větev změní, včetně hlasů ke schválení, odmítnutí nebo čekání.
Pokud žadateli nebudou vybrány vlastní změny , může autor žádosti o přijetí změn hlasovat pro žádost o přijetí změn, ale jejich hlas se nezapočítává do minimálního počtu revidujících.
Pokud některý kontrolor změny odmítne, žádost o přijetí změn se nedá dokončit, pokud nevyberete Možnost Povolit dokončení, i když někteří revidujícím hlasují, aby čekali nebo odmítli.
Hlasy revidujících kódu můžete resetovat, když se do zdrojové větve nasdílí nové změny. Když dojde k novým změnám, vyberte Obnovit hlasy revidujících kódu.
Pokud všechny ostatní zásady projdou, tvůrce může žádost o přijetí změn dokončit, když ji schválí požadovaný počet revidujících.
Minimální požadovaný počet schvalovatelů. Například: 2. Povinný:
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Povinný:
reset-on-source-push
Resetujte hlasy, když se změny nasdílí do zdroje. Přijaté hodnoty: false, true. Povinný:
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příklad
Následující příklad nastaví minimální počet požadovaných schválení 2 pro žádosti o přijetí změn ve main větvi úložiště Fabrikam. Tato zásada umožňuje snížit úroveň, což znamená, že žádosti o přijetí změn se můžou dokončit i v případě, že někteří revidujícím neschvalují, pokud se má schválit minimální počet hlasů. Nasdílení změn do zdrojové větve neodesílají hlasy. Zásady také umožňují tvůrcům žádostí o přijetí změn schválit vlastní žádosti o přijetí změn.
Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
enabled
Povolte zásadu. Přijaté hodnoty: false, true.
minimum-approver-count
Minimální požadovaný počet schvalovatelů. Například: 2.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Resetujte hlasy, když se změny nasdílí do zdroje. Přijaté hodnoty: false, true.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Kontrola propojených pracovních položek
Pro sledování správy pracovních položek můžete vyžadovat přidružení mezi žádostmi o přijetí změn a pracovními položkami. Propojení pracovních položek poskytuje více kontextu pro změny a zajišťuje, že aktualizace procházejí procesem sledování pracovních položek.
Pokud chcete zásadu nastavit, v části Zásady větve nastavte Možnost Vyhledat propojené pracovní položky na Zapnuto. Toto nastavení vyžaduje, aby pracovní položky byly propojeny s žádostí o přijetí změn, aby se žádost o přijetí změn sloučila. Nastavení Volitelné, aby se zobrazovala upozornění, když nejsou propojené pracovní položky, ale povolte dokončení žádosti o přijetí změn.
Pomocí Azure CLI az repos policy work-item-linking můžete vytvořit a aktualizovat zásady propojení pracovních položek pro větev nebo úložiště.
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
enabled
Povolte zásadu. Přijaté hodnoty: false, true.
minimum-approver-count
Minimální požadovaný počet schvalovatelů. Například: 2.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příklad
Následující příklad aktualizuje ID 3 zásady pro main větev úložiště Fabrikam, aby byla povolená, ale volitelná. Příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
>az repos policy work-item-linking update --id 3 --blocking false --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ----------------- ------------- ------------ ------------------------------------ ---------------
3 Work item linking False True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Kontrola rozlišení komentářů
Zásady kontroly překladu komentářů kontrolují, jestli jsou vyřešené všechny komentáře k žádosti o přijetí změn.
Nakonfigurujte zásadu překladu komentářů pro vaši větev nastavením Kontrola rozlišení komentáře na Zapnuto. Pak vyberte, jestli se má zásada nastavit jako povinná nebo nepovinná.
Další informace o práci s komentáři k žádostem o přijetí změn najdete v tématu Kontrola žádostí o přijetí změn.
Nakonfigurujte zásadu překladu komentářů pro vaši větev tak , že vyberete Zkontrolovat řešení komentářů.
Další informace o práci s komentáři k žádostem o přijetí změn najdete v tématu Kontrola žádostí o přijetí změn.
K nastavení a aktualizaci zásad překladu komentářů můžete použít Azure DevOps CLI az repos policy.
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Povinný:
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
enabled
Povolte zásadu. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příklad
Následující příklad aktualizuje ID 6 zásad překladu komentářů ve main větvi úložiště Fabrikam, aby blokovaly. Před sloučením žádostí o přijetí změn je potřeba vyřešit komentáře. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Omezení typů sloučení
Azure Repos má několik strategií sloučení a ve výchozím nastavení jsou všechny povolené. Konzistentní historii větví můžete udržovat vynucením strategie sloučení pro dokončení žádosti o přijetí změn.
Nastavte omezení typů sloučení na Hodnotu Zapnuto , abyste omezili typy sloučení, které chcete povolit v úložišti.
Základní sloučení (bez rychlého přeposlání) vytvoří potvrzení sloučení v cíli, jehož nadřazené objekty jsou cílem a zdrojovými větvemi.
Squash merge vytvoří lineární historii s jediným potvrzením v cílové větvi se změnami ze zdrojové větve. Přečtěte si další informace o sloučení squashů a o tom, jak ovlivňuje historii větví.
Rebase a fast-forward vytvoří lineární historii přehráním zdrojových potvrzení do cílové větve bez potvrzení sloučení.
Rebase with merge commit replays the source commits to the target and also creates a merge commit.
Poznámka:
Tato funkce je dostupná pro Azure DevOps Server 2020 a novější verze.
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Povinný:
allow-no-fast-forward
Základní sloučení bez rychlého přeposlání Zachovává nelineární historii přesně tak, jak se to stalo během vývoje. Přijaté hodnoty: false, true.
allow-rebase
Přemísněte a rychle dopředu. Vytvoří lineární historii tak, že přehraje potvrzení zdrojové větve do cíle bez potvrzení sloučení. Přijaté hodnoty: false, true.
allow-rebase-merge
Změna základu s potvrzením sloučení Vytvoří pololineární historii tak, že přehraje potvrzení zdrojové větve do cíle a pak vytvoří potvrzení sloučení. Přijaté hodnoty: false, true.
allow-squash
Squash merge. Vytvoří lineární historii zhuštěním potvrzení zdrojové větve do jednoho nového potvrzení v cílové větvi. Přijaté hodnoty: false, true.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
use-squash-merge
Vždy squash sloučení. Tato možnost není dostupná pro jiné typy sloučení. Přijaté hodnoty: false, true.
Poznámka: use-squash-merge Je zastaralý a bude odebrán v budoucí verzi. Místo toho použijte --allow-squash.
Příklad
Následující příklad nastaví požadovanou strategii sloučení pro žádosti o přijetí změn ve main větvi úložiště Fabrikam, aby bylo možné sloučení squashů. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
az repos policy merge-strategy create --allow-squash true --blocking true --branch main --enabled true --repository-id d28cd374-e7f0-4b1f-ad60-f349f155d47c --output table
ID Name Is Blocking Is Enabled Repository Id Branch
---- ------------------------ ------------- ------------ ------------------------------------ ---------------
29 Require a merge strategy True True d28cd374-e7f0-4b1f-ad60-f349f155d47c refs/heads/main
Základní sloučení bez rychlého přeposlání Zachovává nelineární historii přesně tak, jak se to stalo během vývoje. Přijaté hodnoty: false, true.
allow-rebase
Přemísněte a rychle dopředu. Vytvoří lineární historii tak, že přehraje potvrzení zdrojové větve do cíle bez potvrzení sloučení. Přijaté hodnoty: false, true.
allow-rebase-merge
Změna základu s potvrzením sloučení Vytvoří pololineární historii tak, že přehraje potvrzení zdrojové větve do cíle a pak vytvoří potvrzení sloučení. Přijaté hodnoty: false, true.
allow-squash
Squash merge. Vytvoří lineární historii zhuštěním potvrzení zdrojové větve do jednoho nového potvrzení v cílové větvi. Přijaté hodnoty: false, true.
blocking
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
enabled
Povolte zásadu. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
use-squash-merge
Zda se squash sloučení vždy. Tato možnost nefunguje u jiných typů sloučení. Přijaté hodnoty: false, true.
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Vynucení strategie sloučení
Zachování konzistentní historie větví vynucením strategie sloučení po dokončení žádosti o přijetí změn
Vyberte Vynutit strategii sloučení a vyberte možnost, která vyžaduje sloučení žádostí o přijetí změn pomocí této strategie.
Bez rychlého sloučení – Tato možnost sloučí historii potvrzení zdrojové větve, když se žádost o přijetí změn zavře a vytvoří potvrzení sloučení v cílové větvi.
Squash merge - Dokončení všech žádostí o přijetí změn pomocí squash merge, vytvoření jednoho potvrzení v cílové větvi se změnami ze zdrojové větve. Přečtěte si další informace o sloučení squashů a o tom, jak ovlivňuje historii vaší větve.
Ověření sestavení
Před dokončením žádosti o přijetí změn můžete nastavit zásadu, která vyžaduje úspěšné sestavení změn žádosti o přijetí změn.
Sestavte zásady, které snižují konce a udržují výsledky testů úspěšné. Zásady vytváření pomáhají i v případě, že ve svých vývojových větvích používáte kontinuální integraci (CI), abyste mohli včas zachytit problémy.
Zásady ověření sestavení zařadí nové sestavení do fronty, když se vytvoří nová žádost o přijetí změn nebo se změny nasdílí do existující žádosti o přijetí změn, která cílí na větev. Zásada sestavení vyhodnocuje výsledky sestavení a určí, jestli je možné žádost o přijetí změn dokončit.
Důležité
Před zadáním zásady ověření sestavení musíte mít kanál buildu. Pokud kanál nemáte, přečtěte si téma Vytvoření kanálu buildu. Zvolte typ sestavení, který odpovídá vašemu typu projektu.
V části Aktivační událost vyberte Automaticky (při každé aktualizaci zdrojové větve) nebo Ruční.
V části Požadavek na zásadu vyberte Povinné nebo Volitelné. Pokud zvolíte Povinné, sestavení se musí úspěšně dokončit, aby se dokončily žádosti o přijetí změn. Zvolte Volitelné , pokud chcete poskytnout oznámení o selhání sestavení, ale přesto povolit dokončení žádostí o přijetí změn.
Nastavte vypršení platnosti sestavení, abyste měli jistotu, že aktualizace chráněné větve nepřerušují změny pro otevřené žádosti o přijetí změn.
Okamžitě po <aktualizaci názvu> větve: Tato možnost nastaví stav zásad sestavení žádosti o přijetí změn na selhání při každé aktualizaci větve a znovu vytvoří frontu sestavení. Toto nastavení zajistí, že se žádost o přijetí změn úspěšně sestaví i v případě, že se změní chráněná větev.
Tato možnost je nejvhodnější pro týmy, jejichž důležité větve mají několik změn. Týmy pracující na zaneprázdněných vývojových větvích můžou narušovat čekání na sestavení při každé aktualizaci větve.
Po <n> hodinách, pokud <je název> větve aktualizován: Tato možnost vyprší aktuální stav zásad, když se chráněná větev aktualizuje, pokud je předávací build starší než zadaná prahová hodnota. Tato možnost představuje kompromis mezi tím, že při aktualizaci chráněné větve vždy nebo nikdy nevyžaduje sestavení. Tato volba snižuje počet sestavení, pokud má vaše chráněná větev časté aktualizace.
Nikdy: Aktualizace chráněné větve nemění stav zásad. Tato hodnota snižuje počet sestavení, ale může způsobit problémy při dokončování žádostí o přijetí změn, které nebyly nedávno aktualizovány.
Zadejte volitelný zobrazovaný název pro tuto zásadu sestavení. Tento název identifikuje zásadu na stránce Zásady větve. Pokud nezadáte zobrazovaný název, zásada použije název kanálu buildu.
Zvolte Uložit.
Když vlastník žádosti o přijetí změn odešle změny, které se úspěšně sestaví, stav zásad se aktualizuje.
Pokud máte okamžitou aktualizaci názvu větve nebo po <n> hodinách, pokud <byl název> větve aktualizován zásady sestavení, stav zásad se aktualizuje, když se chráněná větev aktualizuje, pokud předchozí build už není platný.><
Poznámka:
Tato funkce je dostupná pro Azure DevOps Server 2020 a novější verze.
Pomocí Azure DevOps CLI az repos policy build můžete nastavit a aktualizovat zásady ověřování sestavení.
Určuje, jestli chcete povolit pouze ruční frontu sestavení. Přijaté hodnoty: false, true. Povinný:
queue-on-source-update-only
Určuje, jestli se mají sestavení zařadit do fronty pouze v případech, kdy se aktualizují zdroje. Přijaté hodnoty: false, true. Povinný:
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Povinný:
valid-duration
Doba platnosti zásad v minutách. Poznámka:valid-duration musí být mezi nulou a jedním rokem a musí být nula, pokud --queue-on-source-update-only je false. Povinný:
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
path-filter
Cesta, na kterou se má zásada použít. Podporuje absolutní cesty, zástupné kóty a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příklad
Následující příklad nastaví požadovanou zásadu sestavení pro žádosti o přijetí změn ve main větvi úložiště Fabrikam. Zásada vyžaduje úspěšné sestavení ID 1definice sestavení a umožňuje pouze ruční řazení do front. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
build-definition-id
ID definice sestavení.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
display-name
Zobrazovaný název této zásady sestavení pro identifikaci zásad. Například: Manual queue policy.
enabled
Povolte zásadu. Přijaté hodnoty: false, true.
manual-queue-only
Určuje, jestli chcete povolit pouze ruční frontu sestavení. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
path-filter
Cesty, na kterých se má zásada použít. Podporuje absolutní cesty, zástupné kóty a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
queue-on-source-update-only
Určuje, jestli se mají sestavení zařadit do fronty pouze v případech, kdy se aktualizují zdroje. Přijaté hodnoty: false, true.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
valid-duration
Doba platnosti zásad v minutách.
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Nastavte zásadu vyžadující změny v žádosti o přijetí změn, aby bylo možné úspěšně sestavit chráněnou větev před dokončením žádosti o přijetí změn.
Sestavte zásady, které snižují konce a udržují výsledky testů úspěšné. Zásady vytváření pomáhají i v případě, že ve svých vývojových větvích používáte kontinuální integraci (CI), abyste mohli včas zachytit problémy.
Pokud je povolená zásada ověření sestavení, nové sestavení se zařadí do fronty při vytvoření nové žádosti o přijetí změn nebo při vložení změn do existující žádosti o přijetí změn, která cílí na větev. Zásady sestavení pak vyhodnocují výsledky sestavení a určí, jestli je možné žádost o přijetí změn dokončit.
Důležité
Před zadáním zásady ověření sestavení musíte mít definici sestavení. Pokud ho nemáte, přečtěte si téma Vytvoření definice sestavení a zvolte typ sestavení, který odpovídá vašemu typu projektu.
Zvolte Přidat zásadu sestavení a nakonfigurujte možnosti v možnosti Přidat zásadu sestavení.
Vyberte definici sestavení.
Zvolte typ triggeru. Vyberte Možnost Automaticky (při každé aktualizaci zdrojové větve) nebo Ruční.
Vyberte požadavek na zásadu. Pokud zvolíte Povinné, sestavení se musí úspěšně dokončit a dokončit žádosti o přijetí změn. Zvolte Volitelné , pokud chcete zadat oznámení o selhání sestavení, ale přesto povolte dokončení žádostí o přijetí změn.
Nastavte vypršení platnosti sestavení, abyste měli jistotu, že aktualizace chráněné větve nepřerušují změny u otevřených žádostí o přijetí změn.
Okamžitě po branch name aktualizaci: Tato možnost nastaví stav zásad sestavení v žádosti o přijetí změn tak, aby při aktualizaci chráněné větve selhala . Znovu vytvořte frontu sestavení, aby se aktualizoval stav sestavení. Toto nastavení zajistí, že se změny v žádostech o přijetí změn úspěšně sestaví, i když se změní chráněná větev. Tato možnost je nejvhodnější pro týmy, které mají důležité větve s nižším objemem změn. Týmy pracující na zaneprázdněných vývojových větvích můžou narušovat čekání na dokončení sestavení při každé aktualizaci chráněné větve.
Po n hodinách, pokud branch name byla aktualizace aktualizována: Tato možnost vyprší aktuální stav zásad, když se chráněná větev aktualizuje, pokud je předávací build starší než zadaná prahová hodnota. Tato možnost představuje kompromis mezi tím, že vždy vyžaduje sestavení, když se chráněná větev aktualizuje a nikdy ji nevyžaduje. Tato volba je vynikající pro snížení počtu sestavení, když má chráněná větev časté aktualizace.
Nikdy: Aktualizace chráněné větve nemění stav zásad. Tato hodnota snižuje počet sestavení pro vaši větev. Může to způsobit problémy při zavření žádostí o přijetí změn, které se nedávno neaktualizovaly.
Zadejte volitelný zobrazovaný název pro tuto zásadu sestavení. Tento název identifikuje zásadu na stránce Zásady větve. Pokud nezadáte zobrazovaný název, zásada použije název definice sestavení.
Zvolte Uložit.
Když vlastník nasdílí změny, které se sestavení úspěšně sestaví, stav zásady se aktualizuje. Pokud máte okamžitou aktualizaci nebo po hodinách, pokud branch name byla zvolena aktualizovaná zásada sestavení, aktualizuje se stav zásad při aktualizaci chráněné větve, pokud nejnovější build už není platný.nbranch name
Kontroly stavu
Externí služby můžou pomocí rozhraní API stavu žádosti o přijetí změn publikovat podrobné informace o přijetí změn do vašich žádostí o přijetí změn. Zásady větve pro další služby umožňují těmto externím službám účastnit se pracovního postupu žádosti o přijetí změn a stanovit požadavky na zásady.
Externí služby můžou pomocí rozhraní API stavu žádosti o přijetí změn publikovat podrobné informace o přijetí změn do vašich žádostí o přijetí změn. Zásady větve pro další služby přináší možnost těchto externích služeb účastnit se pracovního postupu žádosti o přijetí změn a stanovit požadavky zásad.
Revidujícím můžete automaticky přidávat žádosti o přijetí změn, které mění soubory v konkrétních adresářích a souborech, nebo do všech žádostí o přijetí změn v úložišti.
+ Vyberte tlačítko vedle automaticky zahrnutých revidujících.
Vyplňte obrazovku Přidat nové zásady revidujících.
Přidejte lidi a skupiny do revidujících.
Pokud chcete přidat revidujícím automaticky, ale nevyžadujete jejich schválení, vyberte volitelné , pokud chcete žádost o přijetí změn dokončit.
Pokud žádosti o přijetí změn nejde dokončit, vyberte možnost Povinné , dokud:
Každý jednotlivec přidaný jako kontrolor změny schválí.
Změny schválí alespoň jedna osoba v každé skupině přidaná jako kontrolor.
Pokud je vyžadována pouze jedna skupina, minimální počet členů, které určíte, změny schválíte.
Zadejte soubory a složky, které vyžadují automaticky zahrnuté revidujícím. Pokud chcete, aby kontroloři pro všechny žádosti o přijetí změn ve větvi museli toto pole ponechat prázdné.
Pokud vlastníci žádostí o přijetí změn můžou hlasovat, aby schválili vlastní žádosti o přijetí změn, aby tuto zásadu splnili, vyberte Možnost Povolit žadatele.
Můžete zadat zprávu informačního kanálu o aktivitách, která se zobrazí v žádosti o přijetí změn.
Zvolte Uložit.
Poznámka:
Tato funkce je dostupná pro Azure DevOps Server 2020 a novější verze.
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
path-filter
Cesty, na kterých se má zásada použít. Podporuje absolutní cesty, zástupné kóty a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
subscription
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příklad
Následující příklad nastaví Jamal Hartnett jako povinný kontrolor pro žádosti o přijetí změn ve main větvi úložiště Fabrikam. Tento příklad používá výchozí konfiguraci az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber".
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
Blokovat, pokud zásady nejsou splněné. Přijaté hodnoty: false, true.
branch
Název větve pro filtrování výsledků podle přesné shody Parametr --repository-id je nutný k použití filtru větve. Například: --branch main.
branch-match-type
Pomocí argumentu branch použijte zásadu. Pokud je exacthodnota, zásada se vztahuje na větev, která přesně odpovídá argumentu --branch . Pokud je prefixhodnota, zásada se vztahuje na všechny složky větví, které odpovídají předponě v argumentu --branch . Přijaté hodnoty: exact, prefix. Výchozí hodnota: exact.
detect
Automaticky rozpozná organizaci. Přijaté hodnoty: false, true.
enabled
Povolte zásadu. Přijaté hodnoty: false, true.
message
Zpráva informačního kanálu o aktivitách, která se zobrazí v žádosti o přijetí změn
org
Adresa URL organizace Azure DevOps Výchozí organizaci můžete nakonfigurovat pomocí .az devops configure -d organization=<ORG_URL>Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu. Příklad: https://dev.azure.com/MyOrganizationName/.
path-filter
Cesty, na kterých se má zásada použít. Podporuje absolutní cesty, zástupné kóty a více cest oddělených znakem ;. Příklady: /WebApp/Models/Data.cs, /WebApp/*nebo *.cs, nebo /WebApp/Models/Data.cs;ClientApp/Models/Data.cs.
project, p
Název nebo ID projektu. Výchozí projekt můžete nakonfigurovat pomocí az devops configure -d project=<NAME_OR_ID>. Vyžaduje se, pokud není nakonfigurované jako výchozí nebo vyzvednuto prostřednictvím konfigurace Gitu.
repository-id
ID úložiště pro filtrování výsledků podle přesné shody. Například --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
Název nebo ID předplatného. Výchozí předplatné můžete nakonfigurovat pomocí az account set -s <NAME_OR_ID>.
Příkazy Rozhraní příkazového řádku Azure DevOps se pro Azure DevOps Server nepodporují.
Vyberte revidujícím konkrétní adresáře a soubory v úložišti.
Tito revidujícím se automaticky přidají do žádostí o přijetí změn, které mění soubory v těchto cestách. Můžete také zadat zprávu informačního kanálu o aktivitách.
Pokud vyberete Povinné, žádost o přijetí změn se nedá dokončit, dokud:
Každý uživatel přidaný jako revidujícím cestu schválí změny.
Změny schválí alespoň jedna osoba v každé skupině přidané do cesty.
Počet revidujících zadaných pro každou skupinu přidanou do cesty schválí změny.
Pokud chcete přidat revidujícím automaticky, ale nevyžadujete jejich schválení, vyberte volitelné , pokud chcete žádost o přijetí změn dokončit.
Můžete vybrat žadatele, kteří mohou schválit své vlastní změny.
Když kód schválí všichni povinní kontroloři, můžete žádost o přijetí změn dokončit.
Obejití zásad větví
V některých případech možná budete muset obejít požadavky zásad. Vynechání oprávnění vám umožní nasdílit změny přímo do větve nebo dokončit žádosti o přijetí změn, které nevyhovují zásadám větve. Uživateli nebo skupině můžete udělit oprávnění k obejití. Oborem můžete obejít oprávnění k celému projektu, úložišti nebo jedné větvi.
Dvě oprávnění umožňují uživatelům obejít zásady větví různými způsoby:
Zásady obejití při dokončování žádostí o přijetí změn se vztahují pouze na dokončení žádosti o přijetí změn. Uživatelé s tímto oprávněním mohou provádět žádosti o přijetí změn i v případě, že žádosti o přijetí změn nesplňují zásady.
Zásady obejití při nabízení se vztahují na nabízení z místních úložišť a úprav provedených na webu. Uživatelé s tímto oprávněním můžou odesílat změny přímo do chráněných větví bez splnění požadavků zásad.
Další informace o správě těchto oprávnění najdete v tématu Oprávnění Gitu.
V TFS 2015 až TFS 2018 Update 2 umožňuje výjimka z oprávnění vynucení zásad uživatelům s tímto oprávněním provádět následující akce:
Výslovný souhlas s přepsáním zásad a dokončením žádosti o přijetí změn i v případě, že aktuální sada zásad větví není splněná.
Nasdílení změn přímo do větve, i když má tato větev nastavené zásady větví. Když uživatel s tímto oprávněním odešle oznámení, které by přepsaly zásady větve, nabízená oznámení automaticky obchází zásady větve bez výslovného souhlasu ani upozornění.
Důležité
Při udělování možnosti obejít zásady, zejména na úrovni úložiště a projektu, buďte opatrní. Zásady jsou základním kamenem správy zabezpečeného a vyhovujícího zdrojového kódu.
Filtry cest
Několik zásad větví nabízí filtry cest. Pokud je nastavený filtr cesty, zásada se vztahuje pouze na soubory, které odpovídají filtru cesty. Ponechání tohoto pole prázdné znamená, že zásada se vztahuje na všechny soubory ve větvi.
Můžete zadat absolutní cesty (cesta musí začínat buď zástupným znakem / , nebo zástupným znakem) a zástupnými cardy.
Příklady:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
Jako oddělovač můžete zadat více cest ; .
Příklad:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Cesty s předponou jsou vyloučeny ! , pokud by jinak byly zahrnuty.
Příklad:
/WebApp/*;!/WebApp/Tests/*zahrnuje všechny soubory kromě souborů v /WebApp/WebApp/Tests
!/WebApp/Tests/* určuje žádné soubory, protože nic není zahrnuto jako první.
Pořadí filtrů je významné. Filtry se použijí zleva doprava.
Můžu změny nasdílit přímo větvím, které mají zásady větví?
Změny nemůžete odesílat přímo do větví s požadovanými zásadami větve, pokud nemáte oprávnění k obejití zásad větví. Změny těchto větví je možné provádět pouze prostřednictvím žádostí o přijetí změn. Pokud nemají žádné požadované zásady větve, můžete změny nasdílit přímo do větví, které mají volitelné zásady větví.
Co je automatické dokončování?
Žádosti o přijetí změn do větví s nakonfigurovanými zásadami větví mají tlačítko Nastavit automatické dokončování . Tuto možnost vyberte, pokud chcete automaticky dokončit žádost o přijetí změn, jakmile splní všechny zásady. Automatické dokončování je užitečné, když neočekáváte žádné problémy se změnami.
Kdy jsou zaškrtnuty podmínky zásad větve?
Zásady větví se na serveru znovu vyhodnotují, když vlastníci žádostí o přijetí změn nasdílí změny a při hlasování revidujících. Pokud zásada aktivuje sestavení, stav sestavení nastaví čekání na dokončení sestavení.
Můžu v zásadách větve používat definice sestavení XAML?
Ne, v zásadách větve nemůžete použít definice sestavení XAML.
Jaké zástupné znaky můžu použít pro požadované revidujícím kódy?
Jedno hvězdičky * odpovídají libovolnému počtu znaků, včetně lomítek / i zpětných lomítek \. Otazníky ? odpovídají jakémukoli jednomu znaku.
Příklady:
*.sql odpovídá všem souborům s příponou .sql .
/ConsoleApplication/* odpovídá všem souborům ve složce s názvem ConsoleApplication.
/.gitattributes odpovídá souboru.gitattributes* v kořenovém adresáři úložiště.
*/.gitignore odpovídá jakémukoli souboru .gitignore v úložišti.
Rozlišují se v požadovaných cestách kontrolorů kódu malá a velká písmena?
Ne, zásady větví nerozlišuje malá a velká písmena.
Jak můžu nakonfigurovat více uživatelů jako požadovaných revidujících, ale vyžadovat, aby schvalovali jenom jeden z nich?
Uživatele můžete přidat do skupiny a pak skupinu přidat jako revidujícím. Každý člen skupiny pak může schválit splnění požadavku na zásadu.
Mám oprávnění k obejití zásad. Proč se stále zobrazují selhání zásad ve stavu žádosti o přijetí změn?
Nakonfigurované zásady se vždy vyhodnocují pro změny žádostí o přijetí změn. Pro uživatele, kteří mají oprávnění k obejití zásad, je nahlášený stav zásad pouze poradcem. Pokud uživatel s oprávněními k obejití schválí, stav selhání neblokuje dokončení žádosti o přijetí změn.
Proč nemůžu dokončit vlastní žádosti o přijetí změn, když je nastavená možnost Povolit žadatelům schválit vlastní změny?
Zásady Vyžadovat minimální počet revidujících a automaticky zahrnuté zásady kontrolorů mají možnosti povolit žadatelům schválit vlastní změny. Nastavení se v každé zásadě vztahuje pouze na tuto zásadu. Nastavení nemá vliv na ostatní zásady.
Vaše žádost o přijetí změn má například nastavené následující zásady:
Vyžadovat minimální počet revidujících vyžaduje alespoň jeden revidujícím.
Automaticky zahrnutí kontroloři vyžadují, abyste vy nebo tým, ve kterém jste jako revidujícím.
Automaticky zahrnuté revidujícím umožňují žadatelům schválit vlastní změny .
Vyžaduje minimální počet revidujících, kteří nemají povolení schválení vlastních změn žadateli.
V takovém případě vaše schválení splňuje automaticky zahrnuté kontrolory, ale nevyžaduje minimální počet revidujících, takže žádost o přijetí změn nemůžete dokončit.
Můžou se zde vyskytovat i další zásady, jako je například Zakázat nejnovější nabízení změn ve schvalování vlastních změn, které vám brání ve schvalování vlastních změn, i když je nastavená možnost Povolit žadatelům schválit vlastní změny .
Co se stane, když cesta ve filtrech cest nezačíná / nebo se zástupným znakem?
Cesta ve filtrech cest, které nezačíná nebo se zástupným / znakem, nemá žádný vliv a filtr cesty se vyhodnotí, jako by nebyla zadaná. Taková cesta nemůže odpovídat / absolutní cestě k souboru, která začíná.