Freigeben über


Post neutrale status auf GitHub bei Validierungsausführungen mit Pfadausschlussregel

Mit diesem Update haben wir mehrere Updates für Azure Pipelines hinzugefügt. In YAML-Pipelines legen wir den Zugriff auf alle Pipelines als Standardeinstellung für geschützte Ressourcen fest. Darüber hinaus sendet Azure Pipelines eine neutrale status zurück an GitHub, wenn es sich entscheidet, einen Validierungsbuild aufgrund einer Pfadausschlussregel nicht auszuführen.

Weitere Informationen finden Sie in den folgenden Funktionsbeschreibungen.

Hinweis

Am 28. September 2021 wurde Azure DevOps von Axosoft über eine Sicherheitslücke in einer Abhängigkeit ihres beliebten Git-GUI-Clients – GitKraken – benachrichtigt. Weitere Informationen finden Sie im Blogbeitrag .

Azure Pipelines

Azure Pipelines

Post neutrale status auf GitHub, wenn ein Build übersprungen wird

Mit Azure Pipelines können Sie einen Pull Request in GitHub immer überprüfen. Sie können auch angeben, welche Pfade in Ihrem GitHub-Repository eine Pipeline auslösen sollen. Für instance wird die folgende Pipeline ausgelöst, wenn eine Änderung in den main Branch gepusht code wird, aber nicht ausgelöst, wenn eine Änderung in den docs Ordner gepusht wird.

trigger: none

pr:
 branches:
   include:
     - main
 paths:
   include:
     - code
   exclude:
     - docs

pool:
  vmImage: ubuntu-latest

steps:
- script: echo Hello, world!
  displayName: 'Run a one-line script'

Sobald die Pipeline abgeschlossen ist, postet Azure Pipelines eine status zurück an GitHub. Wenn Sie Branchschutzrichtlinien für Ihr GitHub-Repository in Kraft hatten, hat die von Azure Pipelines veröffentlichte status bestimmt, ob der Pull Request zusammengeführt wird.

Wenn Sie im obigen Beispiel eine Änderung an docsvorgenommen haben, blockiert GitHub derzeit den Pull Request, der darauf wartet, dass ein status von Azure Pipelines zurückgegeben wird. Azure Pipelines führt jedoch keinen Validierungsbuild aus, da dieser Pfad vom Trigger ausgeschlossen ist, sodass der Pull Request nicht abgeschlossen werden kann. Kunden, die Pfadausschlusstrigger oder mehrere Pipelines für ein einzelnes GitHub-Repository einrichten, standen häufig vor dieser Herausforderung.

In Zukunft sendet Azure Pipelines eine neutral status zurück zu GitHub, wenn es sich entscheidet, einen Validierungsbuild aufgrund einer Pfadausschlussregel nicht auszuführen. Dies gibt GitHub eine klare Richtung, die angibt, dass Azure Pipelines die Verarbeitung abgeschlossen hat.

Unterhaltungsansicht:

Unterhaltungsansicht

Details überprüfen:

Details überprüfen

Der Zugriff auf alle Pipelines ist in geschützten Ressourcen standardmäßig deaktiviert.

Eine YAML-Pipeline kann von mindestens einer geschützten Ressource abhängig sein. Dienstverbindungen, Agentpools, Variablengruppen, sichere Dateien und Repositorys sind Beispiele für geschützte Ressourcen, da ein Administrator einer solchen Ressource steuern kann, welche Pipelines Zugriff auf diese Ressource haben. Administratoren verwenden den Bereich "Sicherheitseinstellungen" der Ressource, um Pipelines zu aktivieren oder zu deaktivieren.

Wenn Sie eine dieser Ressourcen erstellen, gewährt die Standardumgebung Zugriff auf alle Pipelines, es sei denn, Sie deaktivieren sie explizit. Um den Sicherheitsstatus insgesamt zu verbessern, wird der Standardwert auf den Zugriff auf alle Pipelines festgelegt. Um allen Pipelines Zugriff zu gewähren, aktivieren Sie einfach den Umschalter in der Erstellungsumgebung oder nachdem die Ressource erstellt wurde.

Neue Azure-Dienstverbindung

Einfügen eines Tasks vor oder nach angegebenen Zieltasks mithilfe eines Decorators

Decorators sind eine Möglichkeit, Aufgaben automatisch in eine Pipeline einzufügen. Sie werden häufig von zentralen Teams in einem organization verwendet, um erforderliche Complianceprozeduren automatisch auszuführen. Decorators können mit klassischen Builds, klassischen Releases oder YAML-Pipelines verwendet werden.

Derzeit kann eine Aufgabe am Anfang jedes Auftrags, am Ende jedes Auftrags oder direkt nach einer Check-out-Aufgabe über einen Decorator eingefügt werden. Um dies zu steuern, geben Sie im Beitragsabschnitt der Erweiterung des Decorators ein an target , wie hier beschrieben. Wir erweitern nun die Liste der Ziele um Folgendes:

ms.azure-pipelines-agent-job.pre-task-tasks
ms.azure-pipelines-agent-job.post-task-tasks
ms.azure-release-pipelines-agent-job.pre-task-tasks
ms.azure-release-pipelines-agent-job.post-task-tasks

Hier sehen Sie ein Beispiel für einen Decorator, der eine Aufgabe vor jeder instance einer PublishPipelineArtifacts Aufgabe in eine Pipeline einschleust.

{
    "manifestVersion": 1,
    "contributions": [
        {
            "id": "my-required-task",
            "type": "ms.azure-pipelines.pipeline-decorator",
            "targets": [
                "ms.azure-pipelines-agent-job.pre-task-tasks"
            ],
            "properties": {
                "template": "my-decorator.yml",
                "targettask": "ECDC45F6-832D-4AD9-B52B-EE49E94659BE"
            }
        }
    ],
    "files": [
        {
            "path": "my-decorator.yml",
            "addressable": true,
            "contentType": "text/plain"
        }
    ]
}

Ankündigung eines Veraltetkeitszeitplans für in Windows 2016 gehostete Images

Kürzlich haben wir Windows 2022 als gehostetes Image verfügbar gemacht. Mit dem bevorstehenden Ende der Mainstreamunterstützung für Windows 2016 im Januar 2022 werden vs2017-win2016 Images ab dem 15. November veraltet. Die vollständige Einstellung dieses Bildes ist für März 2022 geplant. Da es sich um ein häufig verwendetes Image handelt, wollten wir Ihnen genügend Benachrichtigung und Zeit geben, um die erforderlichen Änderungen an Ihren Pipelines vorzunehmen.

In unserem Blogbeitrag erfahren Sie, wie Sie alle Projekte und Pipelines mithilfe eines gehosteten Windows 2016-Images finden und welche Schritte Sie zum Migrieren zu neueren Versionen ausführen können.

Ankündigung des Veraltets von in macOS 10.14 gehosteten Images

Kürzlich haben wir macOS-11 als gehostetes Image verfügbar gemacht. Daher werden wir das macOS-10.14-Image im Dezember 2021 als veraltet festlegen. Builds, die auf diesem Image basieren, schlagen fehl, sobald es veraltet ist. Weitere Details zur Veraltetkeit verschiedener Bilder finden Sie in unserem Blogbeitrag.

Nächste Schritte

Hinweis

Diese Features werden in den nächsten zwei bis drei Wochen eingeführt.

Wechseln Sie zu Azure DevOps, und sehen Sie sich an.

Senden von Feedback

Wir würden uns freuen zu hören, was Sie über diese Features denken. Verwenden Sie das Hilfemenü, um ein Problem zu melden oder einen Vorschlag bereitzustellen.

Einen Vorschlag unterbreiten

Sie können auch Ratschläge und Ihre Fragen von der Community in Stack Overflow beantworten lassen.

Vielen Dank,

Vijay Machiraju