Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Zweigrichtlinien helfen Teams, ihre wichtigen Entwicklungszweige zu schützen. Richtlinien erzwingen die Codequalitäts- und Change Management-Standards Ihres Teams. In diesem Artikel wird beschrieben, wie Verzweigungsrichtlinien festgelegt und verwaltet werden. Eine Übersicht über alle Repository- und Zweigrichtlinien und -einstellungen finden Sie unter Git-Repositoryeinstellungen und -richtlinien.
Eine Verzweigung, die erforderliche Richtlinien konfiguriert hat, kann nicht gelöscht werden, und erfordert Pullanforderungen (PRs) für alle Änderungen.
Voraussetzungen
Um Verzweigungsrichtlinien festzulegen, müssen Sie Mitglied der Sicherheitsgruppe Project Administratoren sein oder Über Berechtigungen für die Richtlinien auf Repositoryebene verfügen. Weitere Informationen finden Sie unter Festlegen von Git-Repositoryberechtigungen.
Um Verzweigungsrichtlinien festzulegen, müssen Sie Mitglied der Sicherheitsgruppe Project Administratoren sein oder Über Berechtigungen für die Richtlinien auf Repositoryebene verfügen. Weitere Informationen finden Sie unter Festlegen von Git-Repositoryberechtigungen.
Um Zweigrichtlinien zu verwalten, wählen Sie Repos>Branches aus, um die Seite "Zweigstellen" im Webportal zu öffnen.
Sie können auch zu Zweigrichtlinieneinstellungen mit Project Einstellungen>RepositoryPoliciesBranch>>PoliciesBranch><Name> gelangen.
Zweigstellen, die Richtlinien enthalten, zeigen ein Richtliniensymbol an. Sie können das Symbol auswählen, um direkt zu den Richtlinieneinstellungen der Zweigstelle zu wechseln.
Um Verzweigungsrichtlinien festzulegen, suchen Sie nach dem Zweig, den Sie verwalten möchten. Sie können die Liste durchsuchen oder nach Ihrem Zweig im Feld "Suchzweigname " oben rechts suchen.
Wählen Sie das Symbol "Weitere Optionen " neben dem Zweig aus, und wählen Sie dann "Branch-Richtlinien " im Kontextmenü aus.
Suchen Sie Ihren Zweig auf der Seite. Sie können die Liste durchsuchen oder mithilfe des Felds "Alle Verzweigungen durchsuchen" oben rechts nach Ihrem Zweig suchen.
Wählen Sie die Schaltfläche ... aus. Wählen Sie im Kontextmenü Branch Policies (Branchrichtlinien) aus.
Konfigurieren sie Richtlinien auf der Seite "Einstellungen" des Zweigs. In den folgenden Abschnitten finden Sie Beschreibungen und Anweisungen für jeden Richtlinientyp.
Konfigurieren Sie die Richtlinien auf der Seite Policies (Richtlinien). In den folgenden Abschnitten finden Sie Beschreibungen jedes Richtlinientyps. Wählen Sie "Änderungen speichern " aus, um Ihre neue Richtlinienkonfiguration anzuwenden.
Sie können Azure DevOps CLI verwenden, um Richtlinien für einen Zweig oder Repository auflisten oder anzeigen.
az repos policy list [--branch]
[--detect {false, true}]
[--org]
[--project]
[--query-examples]
[--repository-id]
[--subscription]
Parameter
Parameter
BESCHREIBUNG
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
detect
Die Organisation wird automatisch erkannt. Akzeptierte Werte: false, true.
org, organization
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe az devops configure -d organization=<ORG_URL>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe az devops configure -d project=<NAME_OR_ID>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde.
query-examples
Empfohlene JMESPath-Zeichenfolge. Sie können eine der Abfragen kopieren und nach dem --query Parameter in doppelte Anführungszeichen einfügen, um die Ergebnisse anzuzeigen. Sie können ein oder mehrere positionale Schlüsselwörter hinzufügen, sodass Vorschläge auf diesen Schlüsselwörtern basieren.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Beispiel
Der folgende Befehl gibt alle Verzweigungsrichtlinien zurück, die in der main Verzweigung des Fabrikam-Repositorys, der ID d28cd374-e7f0-4b1f-ad60-f349f155d47cwirksam sind. Sie können die Repository-ID abrufen, indem Sie ausführen az repos list.
In diesem Beispiel wird die folgende Standardkonfiguration verwendet: 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]
Parameter
Parameter
BESCHREIBUNG
id, policy-id
ID der Richtlinie. Erforderlich.
detect
Die Organisation wird automatisch erkannt. Akzeptierte Werte: false, true.
org, organization
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe az devops configure -d organization=<ORG_URL>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe az devops configure -d project=<NAME_OR_ID>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde.
query-examples
Empfohlene JMESPath-Zeichenfolge. Sie können eine der Abfragen kopieren und nach dem --query Parameter in doppelte Anführungszeichen einfügen, um die Ergebnisse anzuzeigen. Sie können ein oder mehrere positionale Schlüsselwörter hinzufügen, sodass Vorschläge auf diesen Schlüsselwörtern basieren.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Azure DevOps CLI-Befehle werden für Azure DevOps Server lokal nicht unterstützt.
Erfordern einer Mindestanzahl von Prüfern
Codeüberprüfungen sind für Softwareentwicklungsprojekte wichtig. Um sicherzustellen, dass Teams PRs überprüfen und genehmigen, können Sie eine Genehmigung von einer Mindestanzahl von Prüfern erfordern. Die grundlegende Richtlinie erfordert, dass eine angegebene Anzahl von Prüfern den Code genehmigt, ohne Ablehnungen.
Um die Richtlinie festzulegen, legen Sie unter Verzweigungsrichtlinien die Mindestanzahl der Prüfer auf "Ein" fest. Geben Sie die erforderliche Anzahl von Prüfern ein, und wählen Sie eine der folgenden Optionen aus:
Wählen Sie "Zulassen" aus, um ihre eigenen Änderungen zu genehmigen , damit der Ersteller einer PR über seine Genehmigung abstimmen kann. Andernfalls kann der Ersteller weiterhin über die PR abstimmen, aber seine Abstimmung wird nicht auf die Mindestanzahl der Prüfer zählen.
Wählen Sie "Verbieten", dass der letzte Pusher ihre eigenen Änderungen genehmigt , um die Trennung von Aufgaben zu erzwingen. Standardmäßig kann jeder, der die Pushberechtigung für die Quellverzweigung besitzt, Commits und Abstimmungen zur PR-Genehmigung hinzufügen. Wenn Sie diese Option auswählen, wird die Abstimmung des letzten Pushers nicht gezählt, auch wenn sie ihre eigenen Änderungen ordinär genehmigen können.
Wählen Sie " Abschluss zulassen" aus, auch wenn einige Prüfer die Genehmigung warten oder ablehnen , um den Abschluss der PR zuzulassen, auch wenn einige Prüfer gegen die Genehmigung stimmen. Die Mindestanzahl der Prüfer muss weiterhin genehmigt werden.
Unter "Wenn neue Änderungen pusht werden:
Wählen Sie mindestens eine Genehmigung für die letzte Iteration aus, um mindestens eine Genehmigungsstimme für die letzte Änderung der Quellzweige zu erfordern.
Wählen Sie "Alle Genehmigungsstimmen zurücksetzen" aus (setzt keine Stimmen zurück, um alle Genehmigungsstimmen abzulehnen oder zu warten), um alle Genehmigungsstimmen zu entfernen, aber die Stimmen beibehalten, um zu ablehnen oder zu warten, wenn sich die Quellzweigung ändert,
Wählen Sie "Alle Codeprüferstimmen zurücksetzen " aus, um alle Prüferstimmen zu entfernen, wenn sich die Quellzweige ändert, einschließlich Stimmen zum Genehmigen, Ablehnen oder Warten.
Wenn Die Antragsteller ihre eigenen Änderungen nicht genehmigen können, kann der Ersteller der Pullanforderung weiterhin für ihre Pullanfrage stimmen, aber ihre Abstimmung wird nicht auf die Mindestanzahl der Prüfer zählen.
Wenn ein Prüfer die Änderungen zurückweist, kann die Pullanforderung erst abgeschlossen werden, wenn Sie "Abschluss zulassen" auswählen, auch wenn einige Prüfer stimmen, um zu warten oder abzulehnen.
Sie können Codeprüferstimmen zurücksetzen, wenn neue Änderungen an den Quellzweig verschoben werden. Wählen Sie "Codeprüfer zurücksetzen" aus, wenn neue Änderungen vorhanden sind.
Wenn alle anderen Richtlinien übergeben werden, kann der Ersteller die PR abschließen, wenn die erforderliche Anzahl von Prüfern sie genehmigt.
Sie können die Anzahl der erforderlichen Genehmigungsanforderungen für Pullanforderung mit az repos policy approver-count verwalten.
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true. Erforderlich.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main. Erforderlich.
creator-vote-counts
Zählen Sie die Stimme des Erstellers. Akzeptierte Werte: false, true. Erforderlich.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true. Erforderlich.
minimum-approver-count
Mindestanzahl der erforderlichen Genehmigende. Beispiel: 2. Erforderlich.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Erforderlich.
reset-on-source-push
Setzen Sie Stimmen zurück, wenn Änderungen an die Quelle verschoben werden. Akzeptierte Werte: false, true. Erforderlich.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Beispiel
Im folgenden Beispiel wird die Mindestanzahl der erforderlichen Genehmigungen für Pullanforderungen im main Zweig des Fabrikam-Repositorys 2 festgelegt. Die Richtlinie ermöglicht Downvotes, d. h., dass Pullanfragen abgeschlossen werden können, auch wenn einige Prüfer stimmen, die nicht genehmigt werden sollen, solange die Mindestzahl stimmen, die genehmigt werden soll. Pushes an den Quellzweig setzen keine Stimmen zurück. Die Richtlinie ermöglicht außerdem Pull-Anforderungserstellern, ihre eigenen Pull-Anforderungen zu genehmigen.
In diesem Beispiel wird die Standardkonfiguration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"verwendet.
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
Richtlinie für genehmigende Personenanzahl aktualisieren
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
creator-vote-counts
Zählen Sie die Stimme des Erstellers. Akzeptierte Werte: false, true.
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true.
minimum-approver-count
Mindestanzahl der erforderlichen Genehmigende. Beispiel: 2.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
reset-on-source-push
Setzen Sie Stimmen zurück, wenn Änderungen an die Quelle verschoben werden. Akzeptierte Werte: false, true.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Azure DevOps CLI-Befehle werden für Azure DevOps Server lokalen Azure DevOps Server nicht unterstützt.
Überprüfen auf verknüpfte Arbeitselemente
Für die Überwachung von Arbeitsaufgaben können Sie Zuordnungen zwischen PRs und Arbeitselementen erfordern. Das Verknüpfen von Arbeitselementen bietet mehr Kontext für Änderungen und stellt sicher, dass Aktualisierungen Ihren Arbeitsaufgabenverfolgungsprozess durchlaufen.
Wenn Sie die Richtlinie festlegen möchten, legen Sie unter Verzweigungsrichtlinien auf "Nach verknüpften Arbeitselementen suchen" auf "Ein" fest. Diese Einstellung erfordert, dass Arbeitselemente mit einer PR verknüpft werden, damit die PR zusammenführen kann. Legen Sie die Einstellung Optional fest, um zu warnen, wenn keine verknüpften Arbeitselemente vorhanden sind, aber die Fertigstellung der Pullanforderung zulassen.
Sie können azure CLI az repos policy work-item-linking verwenden, um Arbeitselementverknüpfungsrichtlinien für eine Verzweigung oder ein Repository zu erstellen und zu aktualisieren.
Erstellen einer Verknüpfungsrichtlinie für Arbeitsaufgaben
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true. Erforderlich.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main. Erforderlich.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true. Erforderlich.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Aktualisieren der Verknüpfungsrichtlinie für Arbeitsaufgaben
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true.
minimum-approver-count
Mindestanzahl der erforderlichen Genehmigende. Beispiel: 2.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Beispiel
Im folgenden Beispiel wird die Richtlinien-ID 3 für den main Zweig des Fabrikam-Repositorys aktualisiert, um aktiviert, aber optional zu sein. Im Beispiel wird die Standardkonfiguration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"verwendet.
>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-Befehle werden für Azure DevOps Server lokalen Azure DevOps Server nicht unterstützt.
Nach Kommentarauflösung suchen
Die Richtlinie zur Kommentarauflösung überprüft, ob alle PR-Kommentare aufgelöst werden.
Konfigurieren Sie eine Kommentarauflösungsrichtlinie für Ihre Verzweigung, indem Sie auf "Nach Kommentarauflösung suchen" auf "Ein" festlegen. Wählen Sie dann aus, ob die Richtlinie erforderlich oder optional sein soll.
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true. Erforderlich.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main. Erforderlich.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true. Erforderlich.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Erforderlich.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Beispiel
Im folgenden Beispiel wird die main Kommentarauflösungsrichtlinien-ID 6 im Zweig des Fabrikam-Repositorys aktualisiert, um blockiert zu werden. Kommentare müssen aufgelöst werden, bevor Pullanforderungen zusammengeführt werden können. In diesem Beispiel wird die Standardkonfiguration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"verwendet.
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-Befehle werden für Azure DevOps Server lokalen Azure DevOps Server nicht unterstützt.
Einschränken von Seriendrucktypen
Azure Repos hat mehrere Zusammenführungsstrategien, und standardmäßig sind alle zulässig. Sie können einen konsistenten Verzweigungsverlauf beibehalten, indem Sie eine Zusammenführungsstrategie für den Abschluss der PR erzwingen.
Legen Sie "Seriendrucktypen einschränken" auf "Ein " fest, um zu begrenzen, welche Seriendrucktypen in Ihrem Repository zulässig sind.
Die einfache Zusammenführung (keine schnelle Weiterleitung) erstellt einen Seriendruck-Commit im Ziel, dessen Eltern die Ziel- und Quellzweige sind.
Der Merge erstellt einen linearen Verlauf mit einem einzelnen Commit in der Zielzweigung mit den Änderungen aus dem Quellzweig. Erfahren Sie mehr über die Zusammenführung von Squash und deren Auswirkungen auf die Verzweigungshistorie.
Rebase and fast-forward erstellt einen linearen Verlauf, indem Quell-Commits auf die Zielverzweigung ohne Zusammenführungs-Commit wiedergegeben werden.
Rebase with merge commit replays the source commits to the target and also creates a merge commit.
Hinweis
Dieses Feature ist für Azure DevOps Server 2020 und höher verfügbar.
Sie können Azure DevOps CLI az repos policy merge-strategy verwenden, um die Seriendruckstrategie festzulegen und zu aktualisieren.
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true. Erforderlich.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main. Erforderlich.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true. Erforderlich.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Erforderlich.
allow-no-fast-forward
Einfache Zusammenführung ohne Schnelllauf. Behält die nichtlineare Geschichte genau wie bei der Entwicklung bei. Akzeptierte Werte: false, true.
allow-rebase
Rebase und fast-forward. Erstellt einen linearen Verlauf, indem die Quellzweige auf das Ziel wiedergegeben werden, ohne dass ein Zusammenführungs-Commit ausgeführt wird. Akzeptierte Werte: false, true.
allow-rebase-merge
Rebase with merge commit. Erstellt einen semi-linearen Verlauf, indem sie den Quellzweig auf das Ziel erneut wiedergeben und dann einen Merge-Commit erstellen. Akzeptierte Werte: false, true.
allow-squash
Squash-Zusammenführung. Erstellt einen linearen Verlauf, indem die Quellzweige in einen einzelnen neuen Commit auf dem Zielzweig zusammengefasst werden. Akzeptierte Werte: false, true.
branch-match-type
Verwenden Sie das Argument, um die branch Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für einen Zweig, der genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
detect
Die Organisation wird automatisch erkannt. Akzeptierte Werte: false, true.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe az devops configure -d organization=<ORG_URL>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe az devops configure -d project=<NAME_OR_ID>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
use-squash-merge
Immer zusammenführen. Diese Option ist für andere Zusammenführungstypen nicht verfügbar. Akzeptierte Werte: false, true.
Hinweis: use-squash-merge ist veraltet und wird in einer zukünftigen Version entfernt. Verwenden Sie stattdessen --allow-squash.
Beispiel
Im folgenden Beispiel wird eine erforderliche Zusammenführungsstrategie für Pullanforderungen im main Zweig des Fabrikam-Repositorys festgelegt, um den Merge zu ermöglichen. In diesem Beispiel wird die Standardkonfiguration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"verwendet.
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
Aktualisieren einer Zusammenführungsstrategierichtlinie
Einfache Zusammenführung ohne Schnelllauf. Behält die nichtlineare Geschichte genau wie bei der Entwicklung bei. Akzeptierte Werte: false, true.
allow-rebase
Rebase und fast-forward. Erstellt einen linearen Verlauf, indem die Quellzweige auf das Ziel wiedergegeben werden, ohne dass ein Zusammenführungs-Commit ausgeführt wird. Akzeptierte Werte: false, true.
allow-rebase-merge
Rebase with merge commit. Erstellt einen semi-linearen Verlauf, indem sie den Quellzweig auf das Ziel erneut wiedergeben und dann einen Merge-Commit erstellen. Akzeptierte Werte: false, true.
allow-squash
Squash-Zusammenführung. Erstellt einen linearen Verlauf, indem die Quellzweige in einen einzelnen neuen Commit auf dem Zielzweig zusammengefasst werden. Akzeptierte Werte: false, true.
blocking
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
branch-match-type
Verwenden Sie das Argument, um die branch Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für einen Zweig, der genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
detect
Die Organisation wird automatisch erkannt. Akzeptierte Werte: false, true.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe az devops configure -d organization=<ORG_URL>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe az devops configure -d project=<NAME_OR_ID>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
use-squash-merge
Ob die Fusion immer zusammenführen soll. Diese Option funktioniert nicht für andere Zusammenführungstypen. Akzeptierte Werte: false, true.
Azure DevOps CLI-Befehle werden für Azure DevOps Server lokal nicht unterstützt.
Erzwingen einer Zusammenführungsstrategie
Bewahren Sie einen konsistenten Zweigverlauf auf, indem Sie eine Zusammenführungsstrategie erzwingen, wenn eine Pullanforderung abgeschlossen ist.
Wählen Sie eine Seriendruckstrategie aus , und wählen Sie eine Option aus, um die Zusammenführung von Pullanforderungen mithilfe dieser Strategie zu erfordern.
Kein Schnelldruck – Diese Option führt den Commitverlauf des Quellzweigs zusammen, wenn die Pullanforderung geschlossen wird und einen Merge-Commit in der Zielzweigung erstellt.
Squashdruck – Abschließen aller Pullanforderungen mit einem Squashdruck, Erstellen eines einzelnen Commits in der Zielzweige mit den Änderungen aus dem Quellzweig. Erfahren Sie mehr über das Zusammenführen von Squash und wie sie sich auf Ihre Zweiggeschichte auswirkt.
Buildvalidierung
Sie können eine Richtlinie festlegen, die PR-Änderungen erfordert, die erfolgreich erstellt werden müssen, bevor die PR abgeschlossen werden kann.
Buildrichtlinien reduzieren Unterbrechungen und halten Ihre Testergebnisse übergeben. Erstellen von Richtlinien helfen auch dann, wenn Sie eine kontinuierliche Integration (CI) in Ihren Entwicklungszweigen verwenden, um Probleme frühzeitig zu erfassen.
Eine Buildüberprüfungsrichtlinie wartet auf einen neuen Build, wenn eine neue PR erstellt wird oder Änderungen an eine vorhandene PR verschoben werden, die auf den Zweig ausgerichtet ist. Die Buildrichtlinie bewertet die Buildergebnisse, um zu ermitteln, ob die PR abgeschlossen werden kann.
Wichtig
Bevor Sie eine Buildüberprüfungsrichtlinie angeben, müssen Sie über eine Buildpipeline verfügen. Wenn Sie keine Pipeline haben, finden Sie unter Erstellen einer Buildpipeline. Wählen Sie den Typ des Builds aus, der ihrem Projekttyp entspricht.
Wählen Sie unter "Trigger" die Option "Automatisch" (wenn der Quellzweig aktualisiert wird) oder "Manuell" aus.
Wählen Sie unter "Richtlinienanforderung" die Option "Erforderlich" oder "Optional" aus. Wenn Sie "Erforderlich" auswählen, müssen Builds erfolgreich abgeschlossen werden, um PRs abzuschließen. Wählen Sie Optional aus, um eine Benachrichtigung über den Buildfehler bereitzustellen, aber weiterhin PRs zulassen.
Legen Sie einen Buildablauf fest, um sicherzustellen, dass Updates für ihre geschützten Verzweigung keine Änderungen für offene PRs unterbrechen.
Sofort beim <Aktualisieren des Verzweigungsnamens>: Diese Option legt den PR-Buildrichtlinienstatus fest, der fehlgeschlagen ist, wenn der Zweig aktualisiert wird und einen Build erneut aufgibt. Diese Einstellung stellt sicher, dass der PR-Build erfolgreich geändert wird, auch wenn sich die geschützten Zweige ändern.
Diese Option ist am besten für Teams geeignet, deren wichtige Zweigstellen wenige Änderungen aufweisen. Teams in beschäftigten Entwicklungszweigen arbeiten, kann es störend sein, jedes Mal, wenn die Zweigupdates auf einen Build warten.
Nach <n> Stunden, wenn der Verzweigungsname> aktualisiert wurde: Diese Option läuft den aktuellen Richtlinienstatus ab, <wenn der geschützte Zweig aktualisiert wird, wenn der übergebene Build älter ist als der Schwellenwert, den Sie eingeben. Diese Option ist ein Kompromiss zwischen immer oder nie erforderlich, wenn der geschützte Zweig aktualisiert wird. Diese Wahl reduziert die Anzahl der Builds, wenn Ihr geschützter Zweig häufig Updates aufweist.
Nie: Updates für den geschützten Zweig ändern den Richtlinienstatus nicht. Dieser Wert reduziert die Anzahl der Builds, kann jedoch Probleme beim Abschließen von PRs verursachen, die zuletzt nicht aktualisiert wurden.
Geben Sie einen optionalen Anzeigenamen für diese Buildrichtlinie ein. Dieser Name identifiziert die Richtlinie auf der Seite "Branch-Richtlinien ". Wenn Sie keinen Anzeigenamen angeben, verwendet die Richtlinie den Buildpipelinenamen.
Wählen Sie Speichern aus.
Wenn der PR-Besitzer Änderungen angibt, die erfolgreich erstellt wurden, aktualisiert der Richtlinienstatus.
Wenn Sie sofort <beim Aktualisieren des Zweignamens oder nach n Stunden verfügen, wenn der Verzweigungsname>> aktualisiert wurde, wird der Richtlinienstatus aktualisiert, wenn der vorherige Build nicht mehr gültig ist.<><
Hinweis
Dieses Feature steht für Azure DevOps Server 2020 und höherer Versionen zur Verfügung.
Sie können Azure DevOps CLI azpos Policy Build verwenden, um die Buildüberprüfungsrichtlinie festzulegen und zu aktualisieren.
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true. Erforderlich.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main. Erforderlich.
build-definition-id
Die Builddefinitions-ID. Erforderlich.
display-name
Anzeigename für diese Buildrichtlinie, um die Richtlinie zu identifizieren. Beispiel: Manual queue policy. Erforderlich.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true. Erforderlich.
manual-queue-only
Ob nur manuelle Warteschlange von Builds zulässig ist. Akzeptierte Werte: false, true. Erforderlich.
queue-on-source-update-only
Ob Warteschlange-Builds nur bei Quellupdates in der Warteschlange erstellt werden sollen. Akzeptierte Werte: false, true. Erforderlich.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Erforderlich.
valid-duration
Gültigkeitsdauer der Richtlinie in Minuten. Hinweis:valid-duration muss zwischen Null und einem Jahr sein, und muss null sein, wenn --queue-on-source-update-only es sich falseum einen Wert handelt. Erforderlich.
branch-match-type
Verwenden Sie das Argument, um die branch Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für einen Zweig, der genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
detect
Die Organisation wird automatisch erkannt. Akzeptierte Werte: false, true.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe az devops configure -d organization=<ORG_URL>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
path-filter
Pfade, auf denen die Richtlinie angewendet werden soll. Unterstützt absolute Pfade, Wildcards und mehrere Pfade, die durch ;getrennt werden. Beispiele: /WebApp/Models/Data.cs, , /WebApp/*oder *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe az devops configure -d project=<NAME_OR_ID>von . Erforderlich , wenn nicht als Standard konfiguriert oder über git config aufgenommen wurde.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Beispiel
Im folgenden Beispiel wird eine erforderliche Buildrichtlinie für Pullanforderungen im main Zweig des Fabrikam-Repositorys festgelegt. Die Richtlinie erfordert einen erfolgreichen Build der Builddefinitions-ID 1und ermöglicht nur manuelle Buildwarteschlangen. In diesem Beispiel wird die Standardkonfiguration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"verwendet.
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
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Anzeigename für diese Buildrichtlinie, um die Richtlinie zu identifizieren. Beispiel: Manual queue policy.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true.
manual-queue-only
Gibt an, ob nur die manuelle Warteschlange von Builds zulässig ist. Akzeptierte Werte: false, true.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
path-filter
Pfade, auf denen die Richtlinie angewendet werden soll. Unterstützt absolute Pfade, Wildcards und mehrere Pfade, die durch getrennt sind ;. Beispiele: /WebApp/Models/Data.cs, /WebApp/*, oder *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
queue-on-source-update-only
Gibt an, ob Builds nur in die Warteschlange gestellt werden sollen, wenn Quellupdates aktualisiert werden. Akzeptierte Werte: false, true.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
valid-duration
Gültigkeitsdauer der Richtlinie in Minuten.
Azure DevOps CLI-Befehle werden für Azure DevOps Server lokalen Azure DevOps Server nicht unterstützt.
Legen Sie eine Richtlinie fest, die Änderungen in einer Pullanforderung erfordert, um erfolgreich mit der geschützten Verzweigung zu erstellen, bevor die Pullanforderung abgeschlossen werden kann.
Buildrichtlinien reduzieren Unterbrechungen und halten Ihre Testergebnisse bestehen. Buildrichtlinien helfen auch dann, wenn Sie die kontinuierliche Integration (CI) in Ihren Entwicklungszweigen verwenden, um Probleme frühzeitig abzufangen.
Wenn eine Buildüberprüfungsrichtlinie aktiviert ist, wird ein neuer Build in die Warteschlange gestellt, wenn entweder eine neue Pullanforderung erstellt wird, oder wenn Änderungen an eine vorhandene Pullanforderung für die Verzweigung verschoben werden. Die Buildrichtlinie wertet dann die Ergebnisse des Builds aus, um zu ermitteln, ob die Pullanforderung abgeschlossen werden kann.
Wichtig
Bevor Sie eine Buildüberprüfungsrichtlinie angeben, müssen Sie über eine Builddefinition verfügen. Wenn Sie keines haben, lesen Sie " Erstellen einer Builddefinition ", und wählen Sie den Typ des Builds aus, der ihrem Projekttyp entspricht.
Wählen Sie "Buildrichtlinie hinzufügen" aus, und konfigurieren Sie Ihre Optionen in der Buildrichtlinie hinzufügen.
Wählen Sie die Builddefinition aus.
Wählen Sie den Typ des Triggers aus. Wählen Sie "Automatisch" (immer dann, wenn der Quellzweig aktualisiert wird) oder "Manuell" aus.
Wählen Sie die Richtlinienanforderung aus. Wenn Sie "Erforderlich" auswählen, müssen Builds erfolgreich abgeschlossen werden, um Pullanforderungen abzuschließen. Wählen Sie Optional aus, um eine Benachrichtigung über den Buildfehler bereitzustellen, aber weiterhin die Ausführung von Pullanforderungen zuzulassen.
Legen Sie einen Buildablauf fest, um sicherzustellen, dass Aktualisierungen ihrer geschützten Verzweigung keine Änderungen für offene Pullanforderungen unterbrechen.
Sofort beim branch name Aktualisieren: Diese Option legt den Buildrichtlinienstatus in einer Pullanforderung fest, die beim Aktualisieren der geschützten Verzweigung fehlgeschlagen ist. Aktualisieren Sie einen Build, um den Buildstatus zu aktualisieren. Diese Einstellung stellt sicher, dass die Änderungen an Pullanforderungen erfolgreich erstellt werden, auch wenn sich die geschützten Verzweigungsänderungen ändern. Diese Option eignet sich am besten für Teams mit wichtigen Zweigstellen mit einer geringeren Anzahl von Änderungen. Teams in beschäftigten Entwicklungszweigen arbeiten, kann es störend sein, bis ein Build abgeschlossen wird, wenn die geschützte Verzweigung aktualisiert wird.
Wenn n Stunden branch name aktualisiert wurden: Diese Option läuft den aktuellen Richtlinienstatus ab, wenn die geschützten Verzweigungen aktualisiert werden, wenn der übergebende Build älter als der eingegebene Schwellenwert ist. Diese Option ist eine Kompromittierung zwischen jedem Build, wenn die geschützten Verzweigungsupdates aktualisiert werden und niemals einen benötigen. Diese Wahl eignet sich hervorragend zum Verringern der Anzahl von Builds, wenn Ihre geschützte Verzweigung häufige Updates aufweist.
Nie: Aktualisierungen der geschützten Verzweigung ändern den Richtlinienstatus nicht. Dieser Wert reduziert die Anzahl der Builds für Ihre Verzweigung. Es kann Probleme verursachen, wenn Pullanforderungen geschlossen werden, die kürzlich nicht aktualisiert wurden.
Geben Sie einen optionalen Anzeigenamen für diese Buildrichtlinie ein. Dieser Name identifiziert die Richtlinie auf der Seite "Branch-Richtlinien ". Wenn Sie keinen Anzeigenamen angeben, verwendet die Richtlinie den Builddefinitionsnamen.
Wählen Sie Speichern aus.
Wenn der Besitzer Änderungen angibt, die erfolgreich erstellt wurden, wird der Richtlinienstatus aktualisiert. Wenn Sie über eine sofortige Aktualisierung oder nach branch name Stundenverfügen, wenn branch name die Buildrichtlinie aktualisiert wurde, wird der Richtlinienstatus aktualisiert, wenn die geschützte Verzweigung aktualisiert wird, wenn der neueste Build nicht mehr gültig ist.n
Statusüberprüfungen
Externe Dienste können die PR-Status-API verwenden, um detaillierten Status für Ihre PRs zu veröffentlichen. Die Zweigrichtlinie für zusätzliche Dienste ermöglicht es diesen Drittanbieterdiensten, an dem PR-Workflow teilzunehmen und Richtlinienanforderungen einzurichten.
Externe Dienste können die PR-Status-API verwenden, um detaillierten Status für Ihre PRs zu veröffentlichen. Die Zweigrichtlinie für zusätzliche Dienste bietet die Möglichkeit für diese Drittanbieterdienste, an dem PR-Workflow teilzunehmen und Richtlinienanforderungen einzurichten.
Sie können Prüfer automatisch zum Abrufen von Anforderungen hinzufügen, die Dateien in bestimmten Verzeichnissen und Dateien ändern, oder zu allen Pullanforderungen in einem Repository.
Wählen Sie die + Schaltfläche neben automatisch eingeschlossenen Prüfern aus.
Füllen Sie den Bildschirm " Neue Prüferrichtlinie hinzufügen " aus.
Fügen Sie Personen und Gruppen zu Prüfern hinzu.
Wählen Sie "Optional " aus, wenn Sie Prüfer automatisch hinzufügen möchten, aber nicht die Genehmigung benötigen, um die Pullanforderung abzuschließen.
Oder wählen Sie " Erforderlich " aus, wenn Pullanforderungen erst abgeschlossen werden können, wenn:
Jede Person, die als Prüfer hinzugefügt wurde, genehmigt die Änderungen.
Mindestens eine Person in jeder Gruppe, die als Prüfer hinzugefügt wurde, genehmigt die Änderungen.
Wenn nur eine Gruppe erforderlich ist, ist die Mindestanzahl der Mitglieder, die Sie angeben, die Änderungen genehmigen.
Geben Sie die Dateien und Ordner an, die die automatisch eingeschlossenen Prüfer erfordern. Lassen Sie dieses Feld leer, damit die Prüfer für alle Pullanforderungen in der Verzweigung erforderlich sind.
Wählen Sie "Zulassen" aus, um ihre eigenen Änderungen zu genehmigen , wenn Pullanforderungsbesitzer abstimmen können, um ihre eigenen Pullanforderungen zu genehmigen, um diese Richtlinie zu erfüllen.
Sie können eine Aktivitätsfeednachricht angeben, die in der Pullanforderung angezeigt wird.
Wählen Sie Speichern aus.
Hinweis
Dieses Feature ist für Azure DevOps Server 2020 und höher verfügbar.
Sie können Azure DevOps CLI az repos policy required-reviewer verwenden, um die erforderliche Prüferrichtlinie festzulegen und zu aktualisieren.
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true. Erforderlich.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main. Erforderlich.
enabled
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true. Erforderlich.
message
Aktivitätsfeedmeldung, die in der Pullanforderung angezeigt wird. Erforderlich.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345. Erforderlich.
required-reviewer-ids
Prüfer-E-Mail-Adressen getrennt durch ;. Beispiel: john@contoso.com;alice@contoso.com.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
path-filter
Pfade, auf denen die Richtlinie angewendet werden soll. Unterstützt absolute Pfade, Wildcards und mehrere Pfade, die durch getrennt sind ;. Beispiele: /WebApp/Models/Data.cs, /WebApp/*, oder *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Beispiel
Im folgenden Beispiel wird Jamal Hartnett als erforderlicher Prüfer für Pullanforderungen im main Zweig des Fabrikam-Repositorys festgelegt. In diesem Beispiel wird die Standardkonfiguration az devops configure --defaults organization=https://dev.azure.com/fabrikamprime project="Fabrikam Fiber"verwendet.
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
Aktualisieren einer erforderlichen Prüferrichtlinie
Blockieren, wenn die Richtlinie nicht erfüllt ist. Akzeptierte Werte: false, true.
branch
Verzweigungsname, um Ergebnisse nach exakter Übereinstimmung zu filtern. Der --repository-id Parameter ist erforderlich, um den Verzweigungsfilter zu verwenden. Beispiel: --branch main.
branch-match-type
Verwenden Sie das branch Argument, um die Richtlinie anzuwenden. Wenn der Wert lautet exact, gilt die Richtlinie für eine Verzweigung, die genau dem --branch Argument entspricht. Wenn der Wert lautet prefix, gilt die Richtlinie für alle Verzweigungsordner, die dem Präfix im --branch Argument entsprechen. Akzeptierte Werte: exact, prefix. Standardwert. exact.
Aktivieren Sie die Richtlinie. Akzeptierte Werte: false, true.
message
Aktivitätsfeedmeldung, die in der Pullanforderung angezeigt wird.
org
Azure DevOps Organisations-URL. Sie können die Standardorganisation mithilfe von az devops configure -d organization=<ORG_URL>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde. Beispiel: https://dev.azure.com/MyOrganizationName/.
path-filter
Pfade, auf denen die Richtlinie angewendet werden soll. Unterstützt absolute Pfade, Wildcards und mehrere Pfade, die durch getrennt sind ;. Beispiele: /WebApp/Models/Data.cs, /WebApp/*, oder *.cs, ./WebApp/Models/Data.cs;ClientApp/Models/Data.cs
project, p
Name oder ID des Projekts. Sie können das Standardprojekt mithilfe von az devops configure -d project=<NAME_OR_ID>. Erforderlich , wenn sie nicht als Standard konfiguriert oder über die Git-Konfiguration aufgenommen wurde.
repository-id
ID des Repositorys, um Ergebnisse nach exakter Übereinstimmung zu filtern. Beispiel: --repository-ID e556f204-53c9-4153-9cd9-ef41a11e3345.
required-reviewer-ids
Prüfer-E-Mail-Adressen getrennt durch ;. Beispiel: john@contoso.com;alice@contoso.com.
subscription
Der Name oder die ID des Abonnements. Sie können das standardmäßig verwendete Abonnement mittels az account set -s <NAME_OR_ID> konfigurieren.
Azure DevOps CLI-Befehle werden für Azure DevOps Server lokalen Azure DevOps Server nicht unterstützt.
Wählen Sie Prüfer für bestimmte Verzeichnisse und Dateien in Ihrem Repository aus.
Diese Prüfer werden automatisch zum Pull-Anforderungen hinzugefügt, die Dateien entlang dieser Pfade ändern. Sie können auch eine Aktivitätsfeednachricht angeben.
Wenn Sie "Erforderlich" auswählen, kann die Pullanforderung erst abgeschlossen werden, wenn Sie Folgendes ausführen:
Jeder Benutzer, der als Prüfer für den Pfad hinzugefügt wurde, genehmigt die Änderungen.
Mindestens eine Person in jeder Gruppe, die dem Pfad hinzugefügt wurde, genehmigt die Änderungen.
Die Anzahl der Prüfer, die für jede Gruppe angegeben wurden, die dem Pfad hinzugefügt wurde, genehmigt die Änderungen.
Wählen Sie "Optional " aus, wenn Sie Prüfer automatisch hinzufügen möchten, aber nicht die Genehmigung benötigen, um die Pullanforderung abzuschließen.
Sie können Anforderer ihre eigenen Änderungen genehmigen.
Wenn alle erforderlichen Prüfer den Code genehmigen, können Sie die Pullanforderung abschließen.
Umgehen von Verzweigungsrichtlinien
In einigen Fällen müssen Sie richtlinienanforderungen möglicherweise umgehen. Mithilfe von Umgehungsberechtigungen können Sie Änderungen direkt an eine Verzweigung übertragen oder Pullanforderungen abschließen, die keine Verzweigungsrichtlinien erfüllen. Sie können einem Benutzer oder einer Gruppe Umgehungsberechtigungen erteilen. Sie können Berechtigungen für ein gesamtes Projekt, ein Repo oder eine einzelne Verzweigung umgehen.
Zwei Berechtigungen ermöglichen Benutzern die Umgehung der Verzweigungsrichtlinie auf unterschiedliche Weise:
Umgehen von Richtlinien beim Abschließen von Pullanforderungen gilt nur für den Abschluss der Pullanforderung. Benutzer mit dieser Berechtigung können Pullanforderungen abschließen, auch wenn die Pullanforderungen keine Richtlinien erfüllen.
Umgehen von Richtlinien beim Pushen auf Pushes von lokalen Repositorys und Bearbeitungen im Web. Benutzer mit dieser Berechtigung können Änderungen direkt an geschützte Verzweigungen übertragen, ohne richtlinienanforderungen zu erfüllen.
Weitere Informationen zum Verwalten dieser Berechtigungen finden Sie unter Git-Berechtigungen.
In TFS 2015 bis TFS 2018 Update 2 können Benutzer mit dieser Berechtigung die folgenden Aktionen ausführen:
Wenn Sie eine Pullanforderung abschließen, müssen Sie Richtlinien außer Kraft setzen und eine Pullanforderung abschließen, auch wenn die aktuelle Gruppe von Verzweigungsrichtlinien nicht erfüllt ist.
Pushen Sie direkt an eine Verzweigung, auch wenn diese Verzweigungsrichtlinien festgelegt sind. Beachten Sie, dass wenn ein Benutzer mit dieser Berechtigung einen Push vornimmt, der Verzweigungsrichtlinie außer Kraft setzen würde, wird die Verzweigungsrichtlinie automatisch ohne Opt-In-Schritt oder Warnung umgangen.
Wichtig
Verwenden Sie Vorsicht, wenn Sie Richtlinien umgehen können, insbesondere auf Der Ebene des Repositorys und der Projektebene. Richtlinien sind ein Eckpfeiler der sicheren und konformen Quellcodeverwaltung.
Pfadfilter
Mehrere Verzweigungsrichtlinien bieten Pfadfilter. Wenn ein Pfadfilter festgelegt ist, gilt die Richtlinie nur für Dateien, die dem Pfadfilter entsprechen. Wenn Sie dieses Feld leer lassen, bedeutet dies, dass die Richtlinie für alle Dateien in der Verzweigung gilt.
Sie können absolute Pfade und Wildcards angeben.
Beispiele:
/WebApp/Models/Data.cs
/WebApp/*
*.cs
Sie können mehrere Pfade als ; Trennzeichen angeben.
Beispiel:
/WebApp/Models/Data.cs;ClientApp/Models/Data.cs
Pfade, die ! präfixiert sind, werden ausgeschlossen, wenn sie andernfalls eingeschlossen werden.
Beispiel:
/WebApp/*;!/WebApp/Tests/* enthält alle Dateien außer /WebApp Dateien in /WebApp/Tests
!/WebApp/Tests/* Gibt keine Dateien an, da nichts zuerst enthalten ist
Die Reihenfolge der Filter ist signifikant. Filter werden von links nach rechts angewendet.
Kann ich Änderungen direkt an Verzweigungen mit Verzweigungsrichtlinien pushen?
Sie können Keine Änderungen direkt an Verzweigungen übertragen, die über erforderliche Verzweigungsrichtlinien verfügen, es sei denn, Sie verfügen über Berechtigungen zum Umgehen von Verzweigungsrichtlinien. Änderungen an diesen Verzweigungen können nur über Pullanforderungen vorgenommen werden. Sie können Änderungen direkt an Verzweigungen mit optionalen Verzweigungsrichtlinien übertragen, wenn keine erforderlichen Verzweigungsrichtlinien vorhanden sind.
Was ist autovervollständigen?
Pull-Anforderungen in Verzweigungen mit konfigurierten Verzweigungsrichtlinien weisen die Schaltfläche " Autovervollständigen festlegen " auf. Wählen Sie diese Option aus, um die Pullanforderung automatisch abzuschließen , sobald sie alle Richtlinien erfüllt. AutoVervollständigen ist nützlich, wenn Sie keine Probleme mit Ihren Änderungen erwarten.
Wann werden Verzweigungsrichtlinienbedingungen überprüft?
Verzweigungsrichtlinien werden auf dem Server neu bewertet, wenn Pull-Anforderungsbesitzer Änderungen pushen und wenn Prüfer abstimmen. Wenn eine Richtlinie einen Build auslöst, wird der Buildstatus so festgelegt, dass er wartet, bis der Build abgeschlossen ist.
Kann ich XAML-Builddefinitionen in Verzweigungsrichtlinien verwenden?
Nein, Sie können keine XAML-Builddefinitionen in Verzweigungsrichtlinien verwenden.
Welche Wildcardzeichen kann ich für erforderliche Codeprüfer verwenden?
* Einzelne Sternchen entsprechen einer beliebigen Anzahl von Zeichen, einschließlich Schrägstrichen und Rückstrichen /\. Fragezeichen ? entsprechen jedem einzelnen Zeichen.
Beispiele:
*.sql entspricht allen Dateien mit der SQL-Erweiterung .
/ConsoleApplication/* entspricht allen Dateien unter dem Ordner " ConsoleApplication".
/.gitattributes entspricht der Gitattributes-Datei im Stammverzeichnis des Repositorys.
*/.gitignore entspricht einer gitignore-Datei im Repo.
Sind die erforderlichen Codeprüferpfade Groß-/Kleinschreibung beachtet?
Nein, Verzweigungsrichtlinien sind bei der Groß-/Kleinschreibung nicht beachtet.
Wie kann ich mehrere Benutzer als erforderliche Prüfer konfigurieren, aber nur eine davon muss genehmigt werden?
Sie können die Benutzer zu einer Gruppe hinzufügen und dann die Gruppe als Prüfer hinzufügen. Jedes Mitglied der Gruppe kann dann genehmigen, um die Richtlinienanforderung zu erfüllen.
Ich habe Umgehungsrichtlinienberechtigungen. Warum wird weiterhin Richtlinienfehler im Pullanforderungsstatus angezeigt?
Konfigurierte Richtlinien werden immer für Pullanforderungsänderungen ausgewertet. Für Benutzer mit Umgehungsrichtlinienberechtigungen ist der gemeldete Richtlinienstatus nur eine Empfehlung. Wenn der Benutzer mit Umgehungsberechtigungen genehmigt wird, blockiert der Fehlerstatus den Abschluss der Pullanforderung nicht.
Warum kann ich meine eigenen Pullanforderungen nicht abschließen, wenn "Zulassen, dass Antragsteller ihre eigenen Änderungen genehmigen können" festgelegt ist?
Sowohl die Richtlinie "Prüfer anfordern" als auch die Richtlinie " Automatisch eingeschlossene Prüfer " verfügen über Optionen zum Zulassen, dass Antragsteller ihre eigenen Änderungen genehmigen können. In jeder Richtlinie gilt die Einstellung nur für diese Richtlinie. Die Einstellung wirkt sich nicht auf die andere Richtlinie aus.
Ihre Pullanforderung hat beispielsweise die folgenden Richtlinien festgelegt:
Erfordert mindestens eine Anzahl von Prüfern , die mindestens einen Prüfer benötigen.
Automatisch eingeschlossene Prüfer benötigen Sie oder ein Team, in dem Sie sich als Prüfer befinden.
Automatisch eingeschlossene Prüfer haben Zulassen, dass Antragsteller ihre eigenen Änderungen genehmigen können.
Erfordert eine Mindestanzahl von Prüfern , die keine Zulassenden haben, ihre eigenen Änderungen zu genehmigen .
In diesem Fall erfüllt Ihre Genehmigung automatisch eingeschlossene Prüfer, aber keine Mindestanzahl von Prüfern, sodass Sie die Pullanforderung nicht abschließen können.
Möglicherweise gibt es auch andere Richtlinien, z. B. das Verbieten des letzten Pushers, ihre eigenen Änderungen zu genehmigen, die verhindern, dass Sie Ihre eigenen Änderungen genehmigen, auch wenn Zulassen von Antragstellern, ihre eigenen Änderungen zu genehmigen , festgelegt ist.