GitHub Enterprise Unterstützung und automatische GitHub Serviceverbindungen in Buildpipelinen – Sprint 146 Update

Im Sprint 146 Update von Azure DevOps verbesserten wir unsere GitHub Integration mit Azure Pipelines. Der Assistent für die neue Buildpipeline kann jetzt Pipelines für GitHub Enterprise Repositorys erstellen. Außerdem analysiert sie Ihr Repository, um eine vorgeschlagene Sprachvorlage bereitzustellen. Darüber hinaus kann sie Dienstverbindungen für die ausgewählten GitHub Repositorys erstellen und erneut verwenden.

Weitere Informationen finden Sie in der Liste "Features " unten.

Funktionen

Allgemeines:

Azure Boards:

Azure Pipelines:

Azure Artifacts:

Wiki:

Allgemein

Wiederherstellen gelöschter Projekte

In diesem Update haben wir die Möglichkeit hinzugefügt, gelöschte Projekte aus dem Azure DevOps-Portal wiederherzustellen. Wenn Sie über die Berechtigung "Projekt löschen" verfügen, können Sie auch ein gelöschtes Projekt aus der Organisation Einstellungen > Übersichtsseite wiederherstellen. Eine schrittweise Anleitung finden Sie hier in der Dokumentation.

Azure Boards

Vereinfachen der Organisation Ihrer Arbeit mithilfe des Basic-Prozesses

Wichtig

Der Grundlegende Prozess befindet sich in der öffentlichen Vorschau als Standardprozess für neue Projekte in neuen Organisationen, die in der Region Zentral-USA erstellt wurden.

Früher war Agile der Standardprozess für neue Projekte, bietet eine robuste und flexible Gruppe von Arbeitselementtypen und Zuständen, die für eine Vielzahl von Projektbereitstellungsmethoden geeignet sind. Für einige Teams, die mehr mit anderen Tools vertraut sind oder mit anderen Tools vertraut sind und eine leistungsfähigere Toolmappe übernehmen möchten, möchten Sie schnell mit der Terminologie beginnen, mit der sie vertraut sind.

Der neue Basic-Prozess bietet drei Arbeitselementtypen (Epics, Probleme und Aufgaben), um Ihre Arbeit zu planen und zu verfolgen. Es wird empfohlen, Probleme zu verwenden, um Dinge wie Benutzergeschichten, Fehler und Features während der Verwendung von Epics zu verfolgen, um Probleme zusammen in größere Arbeitseinheiten zu gruppieren. Wenn Sie Fortschritte bei Ihrer Arbeit vornehmen, verschieben Sie Elemente entlang eines einfachen Zustandsworkflows von To Do, Ausführen und Fertig.

Organize work using the Basic process.

Sehen Sie sich die Dokumentation zu Problemen und Aufgaben an, damit Sie mit Ihrem neuen Projekt beginnen können.

Azure Pipelines

GitHub Enterprise Unterstützung im Pipeline-Assistenten

Zuvor können Sie den visuellen Designer verwenden, um Pipelines für GitHub Enterprise Repositorys zu erstellen. Jetzt können Sie auch den Assistenten für die neue Buildpipeline verwenden, um Ihre Pipelines zu erstellen.

GitHub Enterprise support in the pipeline wizard.

Der Assistent analysiert Das GitHub Enterprise-Repository, um eine YAML-Vorlage vorzuschlagen, die Ihrer Projektsprache entspricht. Anschließend können Sie die YAML als direktes Commit für Ihre Standardzweige oder als Pullanforderung bearbeiten und speichern.

Edit and save the YAML.

Weitere Informationen finden Sie in der Dokumentation zum Erstellen Ihrer ersten Pipeline hier.

Automatische GitHub Dienstverbindungen in Pipelines

Wenn Sie den Assistenten für die neue Buildpipeline zum Erstellen einer Pipeline für GitHub verwenden, führt die Seite zum Auswählen oder Erstellen einer GitHub-Dienstverbindung zu Verwirrung darüber, welche Verbindung aus der Liste ausgewählt werden soll. Jetzt müssen Sie keine Verbindung auswählen. Der Assistent erstellt und verwendet automatisch eine Dienstverbindung für das ausgewählte Repository.

Wenn Sie eine verbindung manuell auswählen möchten, die nicht automatisch ausgewählt ist, folgen Sie dem Link "Verbindung auswählen" . Weitere Details finden Sie unter Build GitHub Repositorys.

Hinweis

Die Auswahl basiert auf der Azure Pipelines GitHub App (wenn sie im Repository installiert ist) oder Ihrer persönlichen GitHub Identität (mit OAuth).

Anzeigen des Status für jeden Pipelineauftrag in GitHub Prüfungen

Zuvor wurde ein einzelner Buildstatus in GitHub Überprüfungen für Ihre Pipeline bereitgestellt, auch wenn sie Aufträge für mehrere Plattformen enthalten (z. B. Linux, macOS und Windows). Nun wird der Status in GitHub Prüfungen für jeden Auftrag in der Pipeline veröffentlicht. Darüber hinaus können Sie den gesamten Build oder nur einzelne fehlgeschlagene Aufträge aus GitHub Prüfungen erneut ausführen. Um diese Funktionalität zu verwenden, muss Ihre Pipeline so konfiguriert werden, dass die Azure Pipelines GitHub App verwendet wird. Weitere Details finden Sie unter "Integrieren mithilfe der GitHub App". Informationen zum Einrichten einer Pipeline mit Aufträgen für mehrere Plattformen finden Sie unter Erstellen einer multiplattformigen Pipeline.

Display status for each pipeline job.

Standardberechtigung für YAML-Ressourcen in GitHub

Wenn Sie Ihren Quellcode in GitHub verwalten und YAML verwenden, um Ihre Pipeline zu definieren, haben Sie wahrscheinlich einen Fehler beim Erstellen von Ressourcenberechtigungen erlebt. Wenn Sie Ihre YAML-Datei bearbeitet und einen Verweis auf eine der geschützten Ressourcen hinzugefügt haben (z. B. Dienstverbindung, Agentpool, Variablengruppe oder sichere Datei), konnte Azure Pipelines die Identität des Benutzers nicht überprüfen, der diese Änderung vorgenommen hat und den Build fehlgeschlagen hat. Um dieses Problem zu umgehen, mussten Sie die Buildpipeline im Web-Editor speichern, nachdem Sie eine Änderung an der YAML-Datei vornehmen. Viele der Benutzer, die dieses Problem getroffen haben, wollten einfach allen Pipelines die Verwendung der Ressource ermöglichen.

Um den Fehler beim Erstellen von Ressourcenberechtigungen zu vermeiden, haben wir das Standardverhalten aller neuen Dienstverbindungen, Agentpools und Variablengruppen geändert, die für die Verwendung in allen Pipelines autorisiert werden sollen. Wenn Sie strengere Steuerelemente für Ihre Ressourcen benötigen, können Sie das Standardberechtigungsmodell deaktivieren (siehe Abbildung unten). Wenn Sie dies tun, muss eine Person mit Berechtigungen zum Verwenden der Ressource die Pipeline im Web-Editor speichern, nachdem ein Ressourcenverweis der YAML-Datei hinzugefügt wurde.

Default authorization for YAML resources.

Dienstcontainer für YAML-Pipelines

Zuvor mussten Sie Dienste wie Datenbanken oder Speichercaches installieren, starten und beenden, wenn Ihre YAML-Pipeline diese Dienste verwendet hat. Mit diesem Update haben wir Dienstcontainer hinzugefügt, die diese Aufgaben behandeln können. Wenn Ihre Pipeline beispielsweise einen Redis-Cache für Integrationstests verwendet, können Sie das Redis-Containerimage als Dienst in der Pipeline einschließen. Der Agent ruft das Bild automatisch ab, startet es und netzwerkt es, damit ihre Pipelineschritte durch den Hostnamen redis darauf verweisen können. Wenn die Pipeline abgeschlossen ist, wird der Agent den Dienstcontainer sauber herunterdrehen.

Arbeitselemente, die mit GitHub Commits in der Versionszusammenfassung verknüpft sind

Im Dezember wurde die Funktion zum Verknüpfen von GitHub an Arbeitselemente eingeführt. Wir freuen uns, dass Sie jetzt alle Azure Boards Arbeitselemente sehen können, die mit GitHub Commits auf der Releasezusammenfassungsseite verknüpft sind. Dadurch können Teams weitere Informationen zu den Commits nachverfolgen und abrufen, die in einer Umgebung bereitgestellt wurden.

Neue Azure App Service Aufgaben, die für YAML optimiert sind

Wir unterstützen jetzt vier neue Aufgaben, die eine einfache, aber leistungsstarke Möglichkeit bieten, Azure-App Services mit modernen Entwicklern bereitzustellen. Diese Aufgaben verfügen über eine optimierte YAML-Syntax, die es einfach und intuitiv macht, Bereitstellungen für Azure AppServices zu erstellen, einschließlich WebApps, FunctionApps, WebApps für Container und FunctionApp für Container auf Windows- und Linux-Plattformen.

Außerdem unterstützen wir eine neue Hilfsprogrammaufgabe für dateitransformation und variable Ersetzung für XML- und JSON-Formate.

Azure Active Directory-Authentifizierungsunterstützung für Azure SQL Aufgabe

Die Azure SQL Aufgabe wurde erweitert, um die Verbindung mit einer Datenbank mithilfe von Azure AD (Integriertes & Kennwort) und einer Verbindungszeichenfolge zusätzlich zur vorhandenen Unterstützung für SQL Serverauthentifizierung zu unterstützen.

Azure AD authentication support for Azure SQL task.

Grafana-Anmerkungen-Service-Hook

Wir unterstützen jetzt einen neuen Dienst-Hook, mit dem Sie Grafana-Anmerkungen für Bereitstellung abgeschlossene Ereignisse zu einem Grafana-Dashboard hinzufügen können. Auf diese Weise können Sie Bereitstellungen mit den Änderungen in Anwendungs- oder Infrastrukturmetriken korrelieren, die in einem Grafana-Dashboard visualisiert werden.

Grafana annotations service hook.

Abfragen von Azure Monitor-Warnungsaufgaben

Die vorherige Version der Azure Monitor-Abfrageaufgabe unterstützt die Abfragebenachrichtigungen nur auf der klassischen Überwachungsoberfläche. Mit dieser neuen Version der Aufgabe können Sie Warnungen auf der einheitlichen Überwachungsumgebung abfragen, die kürzlich von Azure Monitor eingeführt wurde.

Query Azure Monitor alerts tasks.

Inlineeingabe der Spezifikationsdatei in der Aufgabe "Bereitstellen in Kubernetes"

Zuvor ist die Kubernetes-Bereitstellungsaufgabe erforderlich, um einen Dateipfad für die Konfiguration bereitzustellen. Jetzt können Sie auch die Konfigurationsinline hinzufügen.

Inline input of spec file in Deploy to Kubernetes task.

Docker CLI Installer-Aufgabe

Diese Aufgabe ermöglicht die Installation einer beliebigen Version von Docker CLI auf den Agents, wie vom Benutzer angegeben.

Docker CLI Installer task.

Langfristige Unterstützung (Java Long-Term Support, LTS) für von Microsoft gehostete Agents

Zuvor hatten von Microsoft gehostete Agents JDKs vorinstalliert, die von komplexen Lizenzierungs-, Endbenutzereinschränkungen und fehlenden langfristigen Support überladen wurden. In diesem Update ersetzten wir die JDKs durch getestete, zertifizierte LTS-Builds von OpenJDK von Azul Systems. Java-Entwickler, die Azure verwenden, können jetzt Produktions-Java-Anwendungen mithilfe von Azul Systems Zulu Enterprise Builds von OpenJDK erstellen und ausführen, ohne zusätzliche Supportkosten zu verursachen.

Dieses neue Angebot wurde entwickelt, um Microsoft gehostete Java-Builds und -Bereitstellungen beunruhigend zu machen, indem vierteljährliche Sicherheitsupdates und Fehlerkorrekturen sowie wichtige Out-of-Band-Updates und Patches bei Bedarf integriert werden. Wenn Sie derzeit Java-Apps lokal oder mit anderen JDKs erstellen oder ausführen, sollten Sie zu Zulu auf Azure wechseln, um kostenlosen Support und Wartung zu erhalten. Weitere Informationen finden Sie im Blog Von Microsoft und Azul Systems erhalten Sie kostenlosen Java LTS-Support für Azure.

YAML-Unterstützung für Bitbucket-Cloudpipelinen

Zuvor wurden YAML-basierte Pipelines nicht unterstützt Bitbucket Cloud. Jetzt können Sie YAML verwenden, um Ihre Bitbucket Cloud-Pipelines zu definieren oder den visuellen Designer zu verwenden, um dasselbe zu tun. Um YAML zu verwenden, fügen Sie Ihrem Repository eine Azure-pipelines.yml-Datei hinzu. Wählen Sie in Azure Pipelines die Option "Neue Buildpipeline" und dann "Verwenden des visuellen Designerlinks" aus, wählen Sie "Bitbucket Cloud" und "YAML" aus. Hier können Sie den Pfad zur YAML-Datei Ihres Repositorys eingeben.

Weitere Informationen finden Sie im YAML-Syntaxhandbuch und GitHub Repository von YAML-Beispielen.

Vermeiden des Auslösens mehrerer CI-Builds für Pullanforderungen

Die yaML-Buildvorlagen, die in Azure Pipelines enthalten sind, wurden so konfiguriert, dass Builds für alle Verzweigung innerhalb eines Repositorys ausgelöst werden. Dazu gehören Pull-Anforderungsthema-Verzweigungen. Daher wurden zwei Builds ausgelöst, wenn Pullanforderungen erstellt wurden. Ein Build für den Pullanforderungszweig als Reaktion auf den fortlaufenden Integrationstrigger und einen zweiten Build für den Pullanforderungszweig als Reaktion auf den Pullanforderungsauslöser.

Mithilfe des nachstehenden YAML-Codeausschnitts werden die integrierten YAML-Vorlagen so konfiguriert, dass nur für die Master-Verzweigung ein fortlaufender Integrationsbuild ausgelöst wird. Neue Pullanforderungen werden weiterhin mithilfe des Pullanforderungstriggers erstellt. Weitere Informationen finden Sie in der Dokumentation zu Buildpipelinetriggern .

trigger:
- master

Ändern von Buildnummern, Hochladen und Herunterladen von Artefakten in Freihand-Repository-Builds

Bisher haben Pull-Anforderungsüberprüfungsbuilds für Freihandrepositorys keine Berechtigung zum Hochladen und Herunterladen von Buildartefakten oder Ändern der Buildnummer. Berechtigungen wurden eingeschränkt, da sie unsicher war, die erweiterten Berechtigungen des Agents während eines Freihandbuilds verfügbar zu machen, der von einem unbekannten Benutzer ausgelöst wurde. Bei diesem Update sind Agentberechtigungen so definiert, dass Ihre Pipeline diese Vorgänge ausführen kann, wenn Sie sie benötigen.

Nachfolgend finden Sie ein Beispiel für die YAML, die Sie zum Archivieren von Buildausgaben in einer Tar.gz-Datei in das Artefakt-Stagingverzeichnis verwenden können. Anschließend veröffentlicht sie die Ausgabe in Azure Pipelines, die dem Build zugeordnet werden soll. Weitere Informationen finden Sie in der Dokumentation zur Aufgabe "Archivdateien" und "Erstellen Artifacts Aufgabe veröffentlichen".

- task: ArchiveFiles@2
  inputs:
    archiveType: 'tar'
    tarCompression: 'gz'
    includeRootFolder: false
    rootFolderOrFile: '$(build.sourcesDirectory)/target'
    archiveFile: '$(build.artifactStagingDirectory)/$(build.buildId).tar.gz'
- task: PublishBuildArtifacts@1
  inputs:
    pathtoPublish: '$(build.artifactStagingDirectory)'

Neue Option in der Aufgabe "Testergebnisse veröffentlichen", um bei fehlgeschlagenen Tests einen Fehler zu erzielen

Die Aufgabe "Testergebnisse veröffentlichen" wird verwendet, um Testergebnisse auf Azure Pipelines zu veröffentlichen, wenn Tests mithilfe ihrer Wahl des Testläufers ausgeführt werden. Bisher würde die Aufgabe einfach Ergebnisse aus einer Ergebnisdatei veröffentlichen und würde den Build nicht fehlschlagen, auch wenn die Ergebnisdatei fehlgeschlagene Tests enthielt. Dies bedeutete, dass Sie benutzerdefinierte Schritte schreiben mussten, damit der Build bei Testfehlern fehlschlägt.

Wir haben nun eine Option in der Aufgabe hinzugefügt, um den Build fehlschlagen zu lassen, wenn fehlgeschlagene Tests vorhanden sind.

Fail the build if there are any failed tests.

Updates für das Azure-Portal zum Erstellen eines Azure DevOps Projekts

Das Azure-Portal enthält jetzt zusätzliche Funktionen, um mehr Frameworks und Dienste beim Erstellen eines Azure DevOps Projekts zu unterstützen. Nachfolgend finden Sie die Liste der Änderungen für jeden Bereich.

Framework

Azure IoT ist ein vollständig verwalteter Dienst, der Cloud Intelligence lokal auf plattformübergreifenden IoT-Geräten bereitstellt. Jetzt können Sie ein Azure DevOps Projekt aus dem Azure-Portal erstellen und das einfache IoT als Anwendungsframework verwenden.

Use the Simple IoT as the application framework.

Service

Zuvor unterstützt der Workflow "Erstellen Azure DevOps Project" im Azure-Portal nur "Neu erstellen" als Option für Kubernetes-Dienst. Es wurde eine neue Option hinzugefügt, damit Sie einen vorhandenen Cluster als Bereitstellungsziel für die Pipelineeinrichtung auswählen können.

Choose an existing cluster as the deployment target for the pipeline setup.

Verwenden des Azure-Portals zum Einrichten und Bereitstellen in einer CosmosDB-Datenbank

Derzeit können Sie den workflow Azure DevOps Project im Azure-Portal verwenden, um Build- und Releasepipelinen für ein Git-Repository einzurichten. Jetzt können Sie azure Web App für Container (Linux) oder Azure Kubernetes Service mit einer CosmosDB bereitstellen, die als Datenbank bereitgestellt wird, die die Apps auf diesen Zielen unterstützt. Dies ist derzeit für alle Node.js Vorlagen verfügbar, und wir erwarten, dass wir zukünftig Unterstützung für andere Vorlagen hinzufügen.

Use the Azure Portal to set up and deploy to an Azure Cosmos DB database.

Einrichten von Builds und Releasepipelinen für Funktionen im Azure-Portal

Sie können jetzt den Azure DevOps Project-Workflow im Azure-Portal verwenden, um Build- und Releasepipelinen für Git-Repository einzurichten, die Azure Functions 2.0 (Windows) bereitstellen. Dies ist für Node.js und .NET Core verfügbar.

Set up builds and release pipelines for Functions in Azure portal.

Azure Artifacts

Paketnutzungsstatistiken

Bisher gab es Azure Artifacts keine Möglichkeit, die Nutzung oder Beliebtheit von Paketen zu messen. Mit diesem Update haben wir sowohl die Paketliste als auch die Paketdetailsseiten " Downloads " und " Benutzer " hinzugefügt. Sie können die Statistiken auf der rechten Seite einer seite sehen.

Package usage stats.

Wiki

Monospace-Schriftart für Wiki Markdown-Editor

Mit der Einführung von monospaced Schriftarten für den Wiki Markdown-Editor ist die Lesbarkeit keine Herausforderung mehr. Die Markdown-Quelle sieht sauber und einfach zu lesen aus. Dieses Feature wurde basierend auf diesem Vorschlagsticket priorisiert.

Monospaced font for Wiki Markdown editor.

Fett formatierte Wiki-Seitentitel

Früher sahen sowohl der Wiki-Seitentitel als auch der Kopfzeile 1 gleich aus. Dies erschwerte es den Lesern, zwischen ihnen zu unterscheiden. Jetzt wurden die Wiki-Seitentitel fett und von Kopfzeile 1 unterschieden. Dieses Feature wurde basierend auf diesem Vorschlagsticket priorisiert.

Bold Wiki page titles.

Tabelle "Markdown einfügen"

Das Erstellen von Markdown-Tabellen in einem Wiki ist keine Herausforderung mehr. Sie können jetzt eine Markdown-Tabelle mit einem Klick auf eine Schaltfläche hinzufügen. Dieses Feature wurde basierend auf diesem Featurevorschlagsticket priorisiert.

Insert Markdown table.

Einbetten Azure Boards Abfrageergebnisse in Wiki

Sie können jetzt Azure Boards Abfrageergebnisse in eine Wiki-Seite in Form einer Tabelle einbetten. Die folgende Abbildung zeigt ein Beispiel einer Wiki-Seite mit einer Liste aller veröffentlichten Features und alle aktiven Fehler im aktuellen Sprint, die in das Wiki eingebettet sind. Der inhalt, der auf der Seite angezeigt wird, verwendet eine vorhandene Arbeitselementabfrage. Mit diesem neuen Feature können Sie dynamische Inhalte erstellen und sich keine Gedanken darüber machen, die Wiki-Seite manuell zu aktualisieren.

Embed Azure Boards query results in Wiki.

Die Abfrageergebnisse können in zwei Schritten hinzugefügt werden.

  1. Klicken Sie auf die Schaltfläche "Abfrageergebnisse" auf der Bearbeitungssymbolleiste.

Select the Query Results button from the edit toolbar.

  1. Wählen Sie die erforderliche Abfrage aus, und klicken Sie auf die Schaltfläche "Einfügen".

Die Ergebnisse der Abfrage können nun in Form einer Tabelle angezeigt werden, nachdem Sie die Seite gespeichert haben.

View results of the query.

Dies wurde basierend auf den folgenden Featuresvorschlägen priorisiert:

  1. Arbeitselementabfragen in Wiki
  2. Dynamische Wiki-Inhalte hinzufügen

Nächste Schritte

Hinweis

Diese Features werden in den nächsten zwei bis drei Wochen bereitgestellt.

Lesen Sie die neuen Features unten, und gehen Sie zu Azure DevOps, um sie selbst zu testen.

Senden von Feedback

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

Make a suggestion

Sie können auch Ratschläge und Ihre Fragen erhalten, die von der Community auf Stack Overflow beantwortet werden.

Vielen Dank,

Jeremy Epling