Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Met vertakkingsbeleid kunnen teams hun belangrijke takken van ontwikkeling beschermen. Beleidsregels dwingen de codekwaliteits- en wijzigingsbeheerstandaarden van uw team af. In dit artikel wordt beschreven hoe u vertakkingsbeleid instelt en beheert. Zie Instellingen en beleidsregels voor Git-opslagplaatsen voor een overzicht van alle beleidsregels en instellingen voor opslagplaatsen en vertakkingen.
Een branch met vereiste policies die zijn geconfigureerd, kan niet worden verwijderd en vereist PR's voor alle wijzigingen.
Vereisten
- Als u vertakkingsbeleid wilt instellen, moet u lid zijn van de beveiligingsgroep Projectbeheerders of moet u beleid op opslagplaatsniveau Beleidsregels bewerken machtigingen hebben. Zie Machtigingen voor Git-opslagplaatsen instellen voor meer informatie.
Als u het vertakkingsbeleid wilt beheren, selecteert u Opslagplaatsen>Vertakkingen om de pagina Vertakkingen te openen in de webportal.
U kunt ook naar de vertakkingsbeleidsinstellingen gaan met Projectinstellingen>Repository>Beleidsregels>Vertakkingsbeleid><Vertakking Naam>.
Afdelingen met beleid tonen een beleidspictogram. U kunt het pictogram selecteren om rechtstreeks naar de instellingen van het beleid van de tak te gaan.
Als u beleid voor vertakkingen wilt instellen, zoekt u de vertakking die u wilt beheren. U kunt in de lijst bladeren of naar uw filiaal zoeken in het vak Zoeken op filiaalnaam rechtsboven.
Selecteer het pictogram Meer opties naast de branch en selecteer vervolgens Branchbeleid in het contextmenu.
Schermopname die toont hoe je het vertakkingsbeleid opent vanuit het contextmenu.
Stel beleidsregels in op de instellingenpagina van de vestiging. Zie de volgende secties voor beschrijvingen en instructies voor elk beleidstype.
U kunt Azure DevOps CLI gebruiken om beleidsregels voor een tak of opslagplaats op te sommen of weer te geven.
Beleid vermelden
Als u alle beleidsregels in een project wilt weergeven, gebruikt u az repos policy list.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parameters
Parameter |
Beschrijving |
branch |
Naam van de tak om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org , organization |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
query-examples |
Aanbevolen JMESPath-tekenreeks. U kunt een van de query's kopiëren en plakken na de --query parameter tussen dubbele aanhalingstekens om de resultaten te bekijken. U kunt een of meer positionele trefwoorden toevoegen, zodat suggesties zijn gebaseerd op deze trefwoorden. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Voorbeeld
Met de volgende opdracht worden alle vertakkingsbeleidsregels geretourneerd die van kracht zijn in de main
vertakking van de Fabrikam-opslagplaats, id d28cd374-e7f0-4b1f-ad60-f349f155d47c
. U kunt de opslagplaats-id ophalen door uit te voeren az repos list
.
In dit voorbeeld wordt de volgende standaardconfiguratie gebruikt: 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
Details van een beleid weergeven
Als u de details van een beleid wilt weergeven, gebruikt u az repos policy show.
az repos policy show --id
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--subscription]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org , organization |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
query-examples |
Aanbevolen JMESPath-tekenreeks. U kunt een van de query's kopiëren en plakken na de --query parameter tussen dubbele aanhalingstekens om de resultaten te bekijken. U kunt een of meer positionele trefwoorden toevoegen, zodat suggesties zijn gebaseerd op deze trefwoorden. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Azure DevOps CLI-opdrachten worden niet ondersteund voor Azure DevOps Server.
Vereis een minimum aantal beoordelaars
Codebeoordelingen zijn belangrijk voor softwareontwikkelingsprojecten. Om ervoor te zorgen dat teams pull-aanvragen beoordelen en goedkeuren, kunt u goedkeuring van een minimum aantal revisoren vereisen. Het basisbeleid vereist dat een opgegeven aantal revisoren de code goedkeurt, zonder afwijzingen.
Om het beleid in te stellen, stelt u onder VertakkingsbeleidEen minimum aantal revisoren vereisen in op Aan. Voer het vereiste aantal revisoren in en selecteer een van de volgende opties:
Selecteer Aanvragers toestaan om hun eigen wijzigingen goed te keuren om de maker van een pull request toe te staan te stemmen op de goedkeuring ervan. Anders kan de maker nog steeds stemmen met Goedkeuren op de pull-aanvraag, maar hun stem telt niet mee voor het minimale aantal beoordelaars.
Selecteer het verbieden van de meest recente pusher om hun eigen wijzigingen goed te keuren om de scheiding van taken af te dwingen. Standaard kan iedereen met pushmachtigingen voor de bronbranch zowel commits toevoegen als stemmen op de goedkeuring van de pull request. Als u deze optie selecteert, betekent dit dat de stem van de meest recente pusher niet telt, zelfs niet als ze hun eigen wijzigingen gewoonlijk kunnen goedkeuren.
Selecteer Voltooiing toestaan, zelfs als sommige revisoren stemmen om te wachten of af te wijzen om pr-voltooiing toe te staan, zelfs als sommige revisoren tegen goedkeuring stemmen. Het minimale aantal revisoren moet nog steeds goedkeuring geven.
- Onder Wanneer nieuwe wijzigingen worden gepusht:
- Selecteer Ten minste één goedkeuring vereisen voor de laatste iteratie om ten minste één goedkeuringsstem te vereisen voor de laatste wijziging van de bronvertakking.
- Selecteer goedkeuringsstemmen opnieuw instellen (stelt stemmen niet opnieuw in om te weigeren of te wachten) om alle goedkeuringsstemmen te verwijderen, maar houd stemmen om af te wijzen of te wachten, wanneer de bronbranch wijzigt.
- Selecteer Alle stemmen van de coderevisor opnieuw instellen om alle revisorstemmen te verwijderen wanneer de bronbranch verandert, inclusief stemmen om goed te keuren, te weigeren of te wachten.
- Onder Wanneer nieuwe wijzigingen worden gepusht:
- Selecteer Ten minste één goedkeuring vereisen voor elke iteratie om ten minste één goedkeuringsstem voor de laatste wijziging van de bronvertakking te vereisen. De goedkeuring van de gebruiker wordt niet meegeteld bij een eerdere niet-goedgekeurde iteratie die door die gebruiker wordt gepusht. Als gevolg hiervan moet een andere goedkeuring voor de laatste iteratie worden uitgevoerd door een andere gebruiker.
Er is ten minste één goedkeuring vereist voor elke iteratie die beschikbaar is in Azure DevOps Server 2022.1 en hoger.
- Selecteer Ten minste één goedkeuring vereisen voor de laatste iteratie om ten minste één goedkeuringsstem te vereisen voor de laatste wijziging van de bronvertakking.
- Selecteer Alle goedkeuringsstemmen opnieuw instellen (stelt stemmen niet opnieuw in om af te wijzen of te wachten) om alle goedkeuringsstemmen te verwijderen, maar houd stemmen om af te wijzen of te wachten, wanneer de bron-branch verandert.
- Selecteer alle stemmen van de coderevisor opnieuw instellen om alle stemmen van de revisor te verwijderen wanneer de bronbranch verandert, inclusief stemmen voor goedkeuren, weigeren of wachten.
Als aan alle andere beleidsregels wordt voldaan, kan de maker de pull request voltooien wanneer het vereiste aantal beoordelaars deze goedkeurt.
U kunt het aantal vereiste goedkeurden voor pull-aanvragen beheren met az repos policy approver-count.
Beleid voor het tellen van goedkeurden maken
Als u een beleid voor het aantal goedkeurden wilt maken, gebruikt u az repos policy approver-count create.
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]
Parameters
Parameter |
Beschrijving |
allow-downvotes |
De downvotes toestaan. Geaccepteerde waarden: false , true .
Vereist. |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true .
Vereist. |
branch |
Taknaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main .
Vereist. |
creator-vote-counts |
Tel de stem van de creëerder. Geaccepteerde waarden: false , true .
Vereist. |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true .
Vereist. |
minimum-approver-count |
Minimaal aantal goedkeurders vereist. Voorbeeld: 2 .
Vereist. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 .
Vereist. |
reset-on-source-push |
Stel stemmen opnieuw in wanneer wijzigingen naar de bron worden gepusht. Geaccepteerde waarden: false , true .
Vereist. |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Voorbeeld
In het volgende voorbeeld wordt het minimale aantal benodigde goedkeuringen ingesteld op 2
voor pull requests in de main
tak van de Fabrikam-repository. Het beleid staat neerwaarts stemmen toe, wat betekent dat pull-aanvragen kunnen worden voltooid, zelfs als sommige beoordelaars stemmen om niet goed te keuren, zolang het minimumaantal stemmen om goed te keuren wordt bereikt. Pushen naar de sourcebranch resetten stemmen niet. Met het beleid kunnen makers van pull-aanvragen ook hun eigen pull-aanvragen goedkeuren.
In dit voorbeeld wordt de standaardconfiguratie az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"
gebruikt.
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
Beleid voor het aantal goedkeurders updaten
Als u een beleid voor het aantal goedkeurden wilt bijwerken, gebruikt u az repos policy approver-count update.
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]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
allow-downvotes |
Afkeuringen toestaan. Geaccepteerde waarden: false , true . |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true . |
branch |
Vertakkingsnaam om resultaten te filteren op exacte match. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
creator-vote-counts |
Tel de stem van de maker. Geaccepteerde waarden: false , true . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true . |
minimum-approver-count |
Minimaal aantal goedkeurders vereist. Voorbeeld: 2 . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
reset-on-source-push |
Stel stemmen opnieuw in wanneer wijzigingen naar de bron worden gepusht. Geaccepteerde waarden: false , true . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Azure DevOps CLI-opdrachten worden niet ondersteund voor Azure DevOps Server.
Controleer de gekoppelde werkitems
Voor het beheer en bijhouden van werkitems kunt u verbindingen tussen PR's en werkitems vereisen. Het koppelen van werkitems biedt meer context voor wijzigingen en zorgt ervoor dat updates het traceringsproces van uw werkitems doorlopen.
Als u het beleid wilt instellen, stelt u onder VertakkingsbeleidControleren op gekoppelde werkitems in op Aan. Voor deze instelling moeten werkonderdelen worden gekoppeld aan een PR voordat de PR kan worden samengevoegd. Voer de instelling Optioneel in om te waarschuwen wanneer er geen gekoppelde werkitems zijn, maar toestaan dat de pull-aanvraag is voltooid.
U kunt Azure CLI az repos policy work-item-linking gebruiken om beleid voor het koppelen van werkitems voor een vertakking of opslagplaats te maken en bij te werken.
Beleid voor het koppelen van werkitems maken
Gebruik az repos policy work-item-linking create om een werkitem-koppelingsbeleid voor een repository of branches te maken.
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]
Parameters
Parameter |
Omschrijving |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true .
Vereist. |
branch |
Branchnaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main .
Vereist. |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true .
Vereist. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Beleid voor het koppelen van werkitems bijwerken
Gebruik az repos policy work-item-linking update om een beleid voor het koppelen van werkitems voor een opslagplaats of een of meer vertakkingen bij te werken.
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]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true . |
branch |
Branche naam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true . |
minimum-approver-count |
Minimaal aantal goedkeurders vereist. Voorbeeld: 2 . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Voorbeeld
In het volgende voorbeeld wordt de beleids-id 3
voor de main
-vertakking van de Fabrikam-opslagplaats bijgewerkt zodat deze is ingeschakeld maar optioneel is. In het voorbeeld wordt de standaardconfiguratie az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"
gebruikt.
>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-opdrachten worden niet ondersteund voor Azure DevOps Server.
Het beleid Controleren op oplossing van opmerkingen controleert of alle pr-opmerkingen zijn opgelost.
U kunt Azure DevOps CLI az repos policy comment-required gebruiken om het beleid voor het oplossen van opmerkingen in te stellen en bij te werken.
Als u een beleid voor het oplossen van opmerkingen wilt maken, gebruikt u az repos policy comment-required create.
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]
Parameters
Parameter |
Beschrijving |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true .
Vereist. |
branch |
Branchenaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main .
Vereist. |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true .
Vereist. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 .
Vereist. |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Als u een beleid voor het oplossen van opmerkingen wilt bijwerken, gebruikt u az repos policy comment-required update.
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]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true . |
branch |
Taknaam om resultaten te filteren op exacte match. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Voorbeeld
In het volgende voorbeeld wordt de resolutiebeleid-ID 6
in de vertakking main
van de Fabrikam-opslagplaats bijgewerkt naar een blokkerende status. Opmerkingen moeten worden opgelost voordat pull-aanvragen kunnen worden samengevoegd. In dit voorbeeld wordt de standaardconfiguratie az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"
gebruikt.
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-opdrachten worden niet ondersteund voor Azure DevOps Server.
Samenvoegtypen beperken
Azure-opslagplaatsen hebben verschillende samenvoegstrategieën en standaard zijn ze allemaal toegestaan. U kunt een consistente branch-geschiedenis onderhouden door een samenvoeg-strategie af te dwingen voor het voltooien van pull requests.
Stel Samenvoegtypen in op Aan om te beperken welke samenvoegtypen in uw Opslagplaats mogen worden toegestaan.
-
Met een eenvoudige samenvoeging (geen fast-forward) wordt een merge-commit gemaakt in de doelbranch waarvan de ouders de doel- en bronbranch zijn.
-
Squash merge maakt een lineaire geschiedenis met één commit in de doelbranch inclusief alle wijzigingen van de bronbranch.
Meer informatie over squash-merge en hoe dit invloed heeft op de geschiedenis van takken.
-
Rebase en fast-forward maakt een lineaire geschiedenis door bron commits opnieuw toe te passen op de doelbranch zonder merge commit.
-
Rebase met merge commit plaatst de bronscommits opnieuw op het doel en maakt ook een mergecommit.
U kunt Azure DevOps CLI az repos policy merge-strategy gebruiken om samenvoegbeleid in te stellen en bij te werken.
Een strategiebeleid voor samenvoegen maken
Gebruik az repos policy merge-strategy create om een strategiebeleid voor samenvoegen te maken.
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}]
Parameters
Parameter |
Beschrijving |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true .
Vereist. |
branch |
Branchnaam voor het filteren van resultaten op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main .
Vereist. |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true .
Vereist. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 .
Vereist. |
allow-no-fast-forward |
Eenvoudige samenvoeging zonder snel vooruit te gaan. Behoudt niet-lineaire geschiedenis precies zoals tijdens de ontwikkeling is gebeurd. Geaccepteerde waarden: false , true . |
allow-rebase |
Rebase (herordenen van wijzigingen) en fast-forward (versneld doorvoeren). Hiermee maakt u een lineaire geschiedenis door de commits van de bronbranch opnieuw af te spelen op de doeltak zonder een samenvoegingscommit. Geaccepteerde waarden: false , true . |
allow-rebase-merge |
Baseer opnieuw met samenvoegdoorvoering. Hiermee maakt u een semi-lineair geschiedenisverloop door de commits van de bronvertakking toe te passen op de doelvertakking en vervolgens een samenvoegcommit te maken. Geaccepteerde waarden: false , true . |
allow-squash |
Squash samenvoegen. Hiermee maakt u een lineaire geschiedenis door de bronvertakkingsdoorvoeringen te beperken tot één nieuwe doorvoering op de doelvertakking. Geaccepteerde waarden: false , true . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
use-squash-merge |
Altijd squash samenvoegen. Deze optie is niet beschikbaar voor andere samenvoegtypen. Geaccepteerde waarden: false , true .
Opmerking: use-squash-merge is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik in plaats daarvan --allow-squash . |
Voorbeeld
In het volgende voorbeeld wordt een verplichte samenvoegstrategie ingesteld voor pull-aanvragen in de main
vertakking van de Fabrikam-opslagplaats om squash merge mogelijk te maken. In dit voorbeeld wordt de standaardconfiguratie az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"
gebruikt.
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
Een strategiebeleid voor samenvoegen bijwerken
Gebruik az repos policy merge-strategy update om een strategiebeleid voor samenvoegen bij te werken.
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}]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
allow-no-fast-forward |
Eenvoudige samenvoeging zonder snel vooruit te gaan. Behoudt niet-lineaire geschiedenis precies zoals tijdens de ontwikkeling is gebeurd. Geaccepteerde waarden: false , true . |
allow-rebase |
Rebase en versneld doorgaan. Hiermee wordt een lineaire geschiedenis gecreëerd door de commits van de bronvertakking opnieuw toe te passen op de doelvertakking zonder een merge commit. Geaccepteerde waarden: false , true . |
allow-rebase-merge |
Opnieuw baseren met merge-commit. Hiermee maakt u een semi-lineaire geschiedenis door de bronvertakkingsdoorvoeringen opnieuw af te spelen op het doel en vervolgens een samenvoegdoorvoering te maken. Geaccepteerde waarden: false , true . |
allow-squash |
Squash samenvoegen. Hiermee maakt u een lineaire geschiedenis door de bronvertakkingsdoorvoeringen te beperken tot één nieuwe doorvoering op de doelvertakking. Geaccepteerde waarden: false , true . |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true . |
branch |
Branchnaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
use-squash-merge |
Of het samenvoegen altijd een 'squash merge' moet zijn. Deze optie werkt niet voor andere samenvoegtypen. Geaccepteerde waarden: false , true . |
Azure DevOps CLI-opdrachten worden niet ondersteund voor Azure DevOps Server.
Buildvalidatie
U kunt een beleid instellen dat vereist dat wijzigingen in pull-verzoeken succesvol worden gebouwd voordat het pull-verzoek kan worden voltooid.
Bouwbeleid vermindert onderbrekingen en zorgt ervoor dat uw testresultaten worden doorgegeven. Het bouwen van beleidsregels helpt zelfs als u continue integratie (CI) op uw ontwikkelvertakkingen gebruikt om problemen vroeg te ondervangen.
Met een buildvalidatiebeleid wordt een nieuwe build in de wachtrij geplaatst wanneer er een nieuwe pull request wordt aangemaakt of wanneer wijzigingen worden gepusht naar een bestaande pull request die op de vertakking gericht is. Het beleid voor builds evalueert de buildresultaten om te bepalen of de pull request kan worden voltooid.
Belangrijk
Voordat u een buildvalidatiebeleid opgeeft, zorgt u ervoor dat u een build-pijplijn hebt. Als u geen pijplijn hebt, zie Een build-pijplijn maken. Kies het type build dat overeenkomt met uw projecttype.
Een buildvalidatiebeleid toevoegen
Selecteer de + button naast buildvalidatie.
Vul het formulier voor het instellen van het bouwbeleid in:
Selecteer de build-pijplijn.
U kunt desgewenst een padfilter instellen.
Ontdek meer over padfilters in branch-beleid.
Selecteer onder Trigger Automatisch (wanneer de bronbranch wordt bijgewerkt) of Handmatig.
Selecteer Vereist of Optioneel onder Beleidsvereiste. Als u Vereist kiest, moeten builds succesvol worden voltooid om PR's af te ronden. Kies Optioneel om een melding van de buildfout te geven, maar toch toe te staan dat PR's worden voltooid.
Stel een vervaldatum van een build in om ervoor te zorgen dat updates aan uw beveiligde vertakking geen problemen veroorzaken voor openstaande PR's.
Onmiddellijk wanneer <de naam> van de vertakking wordt bijgewerkt: met deze optie wordt de status van het buildbeleid voor pull-aanvraag ingesteld op mislukt wanneer de vertakking wordt bijgewerkt en wordt een build opnieuw in de wachtrij weergegeven. Deze instelling zorgt ervoor dat de wijzigingen in de pull request succesvol worden gebouwd, zelfs als de beveiligde vertakking wordt gewijzigd.
Deze optie is het beste voor teams waarvan de belangrijke vertakkingen weinig wijzigingen hebben. Teams die in drukke ontwikkeltakken werken, vinden het storend om te moeten wachten op een build bij elke update van de tak.
Na <n> uur als <de naam> van de vertakking is bijgewerkt: deze optie verloopt de huidige beleidsstatus wanneer de beveiligde vertakking wordt bijgewerkt als de doorgegeven build ouder is dan de drempelwaarde die u invoert. Deze optie is een compromis tussen altijd of nooit een build vereisen wanneer de beschermde branch wordt bijgewerkt. Deze keuze vermindert het aantal builds wanneer uw beveiligde vertakking regelmatig updates heeft.
Nooit: Updates voor de beveiligde vertakking wijzigen de beleidsstatus niet. Deze waarde vermindert het aantal builds, maar kan problemen veroorzaken bij het afronden van pull requests die onlangs niet zijn bijgewerkt.
Voer een optionele weergavenaam in voor dit buildbeleid. Deze naam identificeert het beleid op de pagina Vertakkingsbeleid . Als u geen weergavenaam opgeeft, gebruikt het beleid de naam van de buildpipeline.
Selecteer Opslaan.
Wanneer de eigenaar van de pull request wijzigingen pusht die succesvol worden gebouwd, wordt de beleidsstatus bijgewerkt.
Als u een bouwbeleid heeft van Onmiddellijk wanneer <de vertakkingsnaam> is bijgewerkt of Na <n> uur als <de vertakkingsnaam> is bijgewerkt, wordt de beleidsstatus bijgewerkt wanneer de beveiligde vertakking wordt bijgewerkt, als de vorige build niet meer geldig is.
U kunt Azure DevOps CLI az repos policy build gebruiken om validatiebeleid voor build in te stellen en bij te werken.
Een buildvalidatiebeleid maken
Gebruik az repos policy build create om een buildvalidatiebeleid te maken.
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]
Parameters
Parameter |
Beschrijving |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true .
Vereist. |
branch |
Taknaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main .
Vereist. |
build-definition-id |
De definitie-id van de build.
Vereist. |
display-name |
De weergavenaam voor dit buildbeleid dient voor identificatie van het beleid. Voorbeeld: Manual queue policy .
Vereist. |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true .
Vereist. |
manual-queue-only |
Of u het toestaat om alleen een handmatige wachtrij voor builds te gebruiken. Geaccepteerde waarden: false , true .
Vereist. |
queue-on-source-update-only |
Of builds alleen in de wachtrij worden geplaatst wanneer bronupdates plaatsvinden. Geaccepteerde waarden: false , true .
Vereist. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 .
Vereist. |
valid-duration |
Geldigheidsduur van beleid, in minuten.
Opmerking:valid-duration moet tussen nul en één jaar oud zijn en moet nul zijn wanneer --queue-on-source-update-only gelijk is aan false .
Vereist. |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
path-filter |
Het pad waarop het beleid moet worden toegepast. Ondersteunt absolute paden, jokertekens en meerdere paden gescheiden door ; . Voorbeelden: /WebApp/Models/Data.cs , /WebApp/* of *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Voorbeeld
In het volgende voorbeeld wordt een vereist buildbeleid ingesteld voor pull-verzoeken in de main
vertakking van de Fabrikam-opslagplaats. Het beleid vereist een geslaagde build van de builddefinitie-id 1
, en staat alleen handmatig in de wachtrij plaatsen van builds toe. In dit voorbeeld wordt de standaardconfiguratie az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"
gebruikt.
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
Een buildvalidatiebeleid bijwerken
Gebruik az repos policy build update om een buildvalidatiebeleid bij te werken.
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]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true . |
branch |
Branchnaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
build-definition-id |
De definitie-id van de build. |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
display-name |
Weergavenaam voor dit buildbeleid om het beleid te identificeren. Voorbeeld: Manual queue policy . |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true . |
manual-queue-only |
Of u alleen handmatige wachtrij met builds wilt toestaan. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
path-filter |
Paden waarop het beleid moet worden toegepast. Ondersteunt absolute paden, jokertekens en meerdere paden gescheiden door ; . Voorbeelden: /WebApp/Models/Data.cs , /WebApp/* of *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
queue-on-source-update-only |
Of builds alleen in de wachtrij worden geplaatst wanneer er bronupdates plaatsvinden. Geaccepteerde waarden: false , true . |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
valid-duration |
Geldigheidsduur van beleid, in minuten. |
Azure DevOps CLI-opdrachten worden niet ondersteund voor Azure DevOps Server.
Statuscontroles
Externe diensten kunnen de PR Status API gebruiken om gedetailleerde status te posten op uw PR's. Het vertakkingsbeleid voor aanvullende services stelt deze externe services in staat om deel te nemen aan de pull-werkstroom en beleidsvereisten vast te stellen.
Zie Een vertakkingsbeleid configureren voor een externe service voor instructies voor het configureren van dit beleid.
Coderevisoren automatisch opnemen
U kunt automatisch revisoren toevoegen aan pull-aanvragen die bestanden wijzigen in specifieke mappen en bestanden, of aan alle pull-aanvragen in een opslagplaats.
Selecteer de + knop naast Automatisch opgenomen revisoren.
Vul het scherm Nieuw revisorbeleid toevoegen in.
Voeg personen en groepen toe aan revisoren.
Selecteer Optioneel als u revisoren automatisch wilt toevoegen, maar hun goedkeuring niet nodig hebt om de pull-aanvraag te voltooien.
Of selecteer Vereist als pull-aanvragen pas kunnen worden voltooid:
- Elke persoon die als revisor wordt toegevoegd, keurt de wijzigingen goed.
- Ten minste één persoon in elke groep die als revisor is toegevoegd, keurt de wijzigingen goed.
- Als er slechts één groep is vereist, keurt het minimale aantal leden dat u opgeeft de wijzigingen goed.
Geef de bestanden en mappen op waarvoor automatisch opgenomen revisoren vereist zijn. Laat dit veld leeg om de revisoren voor alle pull-aanvragen in de vertakking te vereisen.
Selecteer Toestaan dat aanvragers hun eigen wijzigingen goedkeuren als eigenaren van pull-aanvragen kunnen stemmen om hun eigen pull-aanvragen goed te keuren om aan dit beleid te voldoen.
U kunt een activiteitsfeedbericht opgeven dat wordt weergegeven in de pull-aanvraag.
Selecteer Opslaan.
U kunt Azure DevOps CLI az repos policy required-reviewer gebruiken om het vereiste revisorbeleid in te stellen en bij te werken.
Een vereist revisorbeleid maken
Gebruik az repos policy required-reviewer create om een vereist revisorbeleid te maken.
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]
Parameters
Parameter |
Beschrijving |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true .
Vereist. |
branch |
Branchennaam om resultaten te filteren op exacte match. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main .
Vereist. |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true .
Vereist. |
message |
Bericht van de activiteitsfeed dat verschijnt in de pull request.
Vereist. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 .
Vereist. |
required-reviewer-ids |
E-mailadressen van revisor gescheiden door ; . Voorbeeld: john@contoso.com;alice@contoso.com . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
path-filter |
Paden waarop het beleid moet worden toegepast. Ondersteunt absolute paden, jokertekens en meerdere paden gescheiden door ; . Voorbeelden: /WebApp/Models/Data.cs , /WebApp/* of *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Voorbeeld
In het volgende voorbeeld wordt Jamal Hartnett ingesteld als een vereiste reviewer voor pull requests in de main
branch van de Fabrikam-opslagplaats. In dit voorbeeld wordt de standaardconfiguratie az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"
gebruikt.
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
Een vereist revisorbeleid bijwerken
Gebruik az repos policy required-reviewer update om een vereist revisorbeleid bij te werken.
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]
Parameters
Parameter |
Beschrijving |
id , policy-id |
ID van het beleid.
Vereist. |
blocking |
Blokkeren als niet aan het beleid wordt voldaan. Geaccepteerde waarden: false , true . |
branch |
Branchemaam om resultaten te filteren op exacte overeenkomst. De --repository-id parameter is vereist voor het gebruik van het vertakkingsfilter. Voorbeeld: --branch main . |
branch-match-type |
Gebruik het branch argument om het beleid toe te passen. Als de waarde is exact , is het beleid van toepassing op een vertakking die exact overeenkomt met het --branch argument. Als de waarde is prefix , is het beleid van toepassing op alle vertakkingsmappen die overeenkomen met het voorvoegsel in het --branch argument. Geaccepteerde waarden: exact , prefix . Standaardwaarde: exact . |
detect |
Organisatie automatisch detecteren. Geaccepteerde waarden: false , true . |
enabled |
Schakel het beleid in. Geaccepteerde waarden: false , true . |
message |
Bericht van activiteitsfeed die wordt weergegeven in de pull-aanvraag. |
org |
Url van de Azure DevOps-organisatie. U kunt de standaardorganisatie configureren met behulp van az devops configure -d organization=<ORG_URL> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. Voorbeeld: https://dev.azure.com/MyOrganizationName/ . |
path-filter |
Paden waarop het beleid moet worden toegepast. Ondersteunt absolute paden, jokertekens en meerdere paden gescheiden door ; . Voorbeelden: /WebApp/Models/Data.cs , /WebApp/* of *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs |
project , p |
Naam of id van het project. U kunt het standaardproject configureren met behulp van az devops configure -d project=<NAME_OR_ID> .
Vereist indien niet geconfigureerd als standaard of opgehaald via git-configuratie. |
repository-id |
Id van de opslagplaats om resultaten te filteren op exacte overeenkomst. Bijvoorbeeld: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345 . |
required-reviewer-ids |
E-mailadressen van revisor gescheiden door ; . Voorbeeld: john@contoso.com;alice@contoso.com . |
subscription |
Naam of id van het abonnement. U kunt het standaardabonnement configureren met behulp van az account set -s <NAME_OR_ID> . |
Azure DevOps CLI-opdrachten worden niet ondersteund voor Azure DevOps Server.
Branchregels overslaan
In sommige gevallen moet u mogelijk beleidsvereisten overslaan. Met bypass-machtigingen kunt u wijzigingen rechtstreeks naar een vertakking pushen of pull-aanvragen voltooien die niet voldoen aan vertakkingsbeleid. U kunt bypassmachtigingen verlenen aan een gebruiker of groep. U kunt machtigingen voor het overslaan van een hele project, een opslagplaats of één vertakking instellen.
Met twee machtigingen kunnen gebruikers vertakkingsbeleid op verschillende manieren omzeilen:
Het overslaan van beleidsregels bij het afronden van pull-aanvragen is alleen van toepassing op de voltooiing ervan. Gebruikers met deze machtiging kunnen pull-aanvragen voltooien, zelfs als de pull-aanvragen niet voldoen aan beleid.
Beleidsregels overslaan bij het pushen is van toepassing op pushes vanuit lokale opslagplaatsen en bewerkingen die op het web zijn aangebracht. Gebruikers met deze machtiging kunnen wijzigingen rechtstreeks naar beveiligde vertakkingen pushen zonder aan beleidsvereisten te voldoen.
Zie Git-machtigingen voor meer informatie over het beheren van deze machtigingen.
Belangrijk
Wees voorzichtig bij het verlenen van de mogelijkheid om beleid te omzeilen, met name op het repository- en projectniveau. Beleidsregels vormen een hoeksteen van veilig en compatibel broncodebeheer.
Padfilters
Verschillende branchespecifieke beleidsregels bieden routefilters. Als een padfilter is ingesteld, is het beleid alleen van toepassing op bestanden die overeenkomen met het padfilter. Als u dit veld leeg laat, betekent dit dat het beleid van toepassing is op alle bestanden in de branch.
U kunt absolute paden opgeven (pad moet beginnen met /
of een jokerteken) en jokertekens.
Voorbeelden:
/WebApp/Models/Data.cs
/WebApp/*
*/Models/Data.cs
*.cs
U kunt meerdere paden opgeven met behulp van ;
een scheidingsteken.
Voorbeeld:
/WebApp/Models/Data.cs;/ClientApp/Models/Data.cs
Paden die beginnen met !
worden uitgesloten als ze anders zouden worden opgenomen.
Voorbeeld:
-
/WebApp/*;!/WebApp/Tests/*
bevat alle bestanden in /WebApp
behalve bestanden in /WebApp/Tests
-
!/WebApp/Tests/*
specificeert geen bestanden, aangezien er eerst niets is inbegrepen
De volgorde van filters is aanzienlijk. Filters worden van links naar rechts toegepast.
Vragen en antwoorden
Kan ik wijzigingen rechtstreeks pushen naar branches die vertakkingsbeleid hebben?
U kunt geen wijzigingen pushen naar branches met vereist branchebeleid, tenzij u toestemming hebt om het branchebeleid te omzeilen. Wijzigingen in deze takken kunnen alleen worden aangebracht via pull requests. U kunt wijzigingen direct pushen naar branches met optioneel vertakkingsbeleid, als ze geen verplicht vertakkingsbeleid hebben.
Wat is automatisch aanvullen?
Pull-aanvragen naar vertakkingen waarvoor vertakkingsbeleid is geconfigureerd, hebben de knop Automatisch aanvullen instellen. Selecteer deze optie om de pull-aanvraag automatisch te voltooien zodra deze voldoet aan alle beleidsregels. Automatisch aanvullen is handig wanneer u geen problemen met uw wijzigingen verwacht.
Wanneer worden voorwaarden voor vertakkingsbeleid gecontroleerd?
Takbeleid wordt opnieuw geëvalueerd op de server wanneer eigenaren van pull requests wijzigingen pushen en wanneer beoordelaars stemmen. Als een beleid een build activeert, wordt de buildstatus ingesteld op wachten totdat de build is voltooid.
Kan ik XAML-builddefinities gebruiken in vertakkingsbeleid?
Nee, u kunt geen XAML builddefinities gebruiken in vertakkingsbeleid.
Welke jokertekens kan ik gebruiken voor vereiste coderevisoren?
Enkele sterretjes *
komen overeen met een willekeurig aantal tekens, inclusief zowel schuine strepen /
als backslashes \
. Vraagtekens ?
komen overeen met één teken.
Voorbeelden:
-
*.sql
komt overeen met alle bestanden met de extensie .sql .
-
/ConsoleApplication/*
komt overeen met alle bestanden onder de map ConsoleApplication.
-
/.gitattributes
komt overeen met het.gitattributes*-bestand in de hoofdmap van de opslagplaats.
-
*/.gitignore
komt overeen met elk .gitignore-bestand in de opslagplaats.
Zijn de vereiste coderevisorpaden hoofdlettergevoelig?
Nee, vertakkingsbeleid is niet hoofdlettergevoelig.
U kunt de gebruikers toevoegen aan een groep en vervolgens de groep toevoegen als revisor. Elk lid van de groep kan vervolgens goedkeuren om te voldoen aan de beleidsvereiste.
Ik heb beleidstoestemmingen omzeild. Waarom zie ik nog steeds beleidsfouten in de status van de pull-aanvraag?
Geconfigureerde beleidsregels worden altijd geëvalueerd voor wijzigingen in pull-aanvragen. Voor gebruikers die beleidsmachtigingen omzeilen, is de gerapporteerde beleidsstatus alleen advies. Als de gebruiker met bypassmachtigingen goedkeurt, blokkeert de foutstatus de voltooiing van pull-aanvragen niet.
Waarom kan ik mijn eigen pull-aanvragen niet afronden wanneer 'Aanvragers toestaan hun eigen wijzigingen goed te keuren' is ingesteld?
Zowel het beleid voor het vereiste minimum aantal revisoren als het beleid voor automatisch opgenomen revisoren hebben opties om aanvragers toe te staan hun eigen wijzigingen goed te keuren. In elk beleid is de instelling alleen van toepassing op dat beleid. De instelling heeft geen invloed op het andere beleid.
Uw pull-aanvraag heeft bijvoorbeeld de volgende beleidsregels ingesteld:
-
Voor een minimum aantal revisoren is ten minste één revisor vereist.
-
Automatisch opgenomen reviewers vereisen dat u of een team waarin u zit als reviewer optreedt.
-
Revisoren die automatisch zijn opgenomen, hebben toestaan dat aanvragers hun eigen wijzigingen goedkeuren.
-
Het vereisen van een minimum aantal beoordelaars heeft niet de optie toestaan dat aanvragers hun eigen wijzigingen goedkeuren ingeschakeld.
In dit geval voldoet uw goedkeuring aan automatisch opgenomen beoordelaars, maar niet aan een minimum aantal beoordelaars, waardoor u de pull-aanvraag niet kunt voltooien.
Er kunnen ook andere beleidsregels zijn, zoals verbieden dat de meest recente pusher hun eigen wijzigingen goedkeurt, waardoor u uw eigen wijzigingen niet kunt goedkeuren, zelfs als aanvragers toestaan om hun eigen wijzigingen goed te keuren, is ingesteld.
Wat gebeurt er wanneer het pad in padfilters niet begint met /
of met een jokerteken?
Het pad in padfilters die niet beginnen met /
of met een jokerteken heeft geen effect en het padfilter evalueert alsof dat pad niet is opgegeven. Een dergelijk pad kan niet overeenkomen met het /
absolute bestandspad dat begint met.
Verwante artikelen: