Auslösen einer Azure Pipelines-Ausführung in GitHub Actions
Azure DevOps Services
Erste Schritte GitHub Actions mit Azure Pipelines verwenden. GitHub Actions Ihnen helfen, Ihre Softwareentwicklungsworkflows von GitHub aus zu automatisieren. Sie können Workflows an demselben Ort bereitstellen, an dem Sie Code speichern und an Pull Requests und Problemen zusammenarbeiten.
Wenn Sie sowohl Azure Pipelines als auch GitHub Actions Workflows haben, möchten Sie möglicherweise eine Pipeline aus einer GitHub Aktion auslösen. Beispielsweise verfügen Sie möglicherweise über einen bestimmten Satz von Pipelineaufgaben, die Sie aus Ihrem GitHub Actions-Workflow auslösen möchten. Sie können eine Pipeline mit der Azure Pipelines Aktion auslösen.
Voraussetzungen
- Eine funktionierende Azure-Pipeline. Erstellen Ihrer ersten Pipeline.
- Ein GitHub Konto mit einem Repository. Verknüpfen Sie GitHub, und erstellen Sie ein Repository.
- Ein Azure DevOps persönliches Zugriffstoken (PAT), das mit Ihrer GitHub Aktion verwendet werden soll. Erstellen Sie ein PAT.
Authentifizieren mit Azure Pipelines
Verwenden Sie ein persönliches Zugriffstoken (PAT), um Ihr GitHub Konto mit Azure DevOps zu verbinden. Sie können einen PAT aus Azure DevOps generieren und dann als GitHub Geheimschlüssel speichern. Verweisen Sie in Ihrem GitHub Workflow auf den geheimen Schlüssel, damit ihre GitHub Aktion sich bei Ihrem Azure DevOps Projekt authentifizieren kann.
Öffnen Sie Ihr GitHub-Repository, und navigieren Sie zu Einstellungen.
Wählen Sie "Geheime Schlüssel " und dann "Neuer Repositoryschlüssel" aus.
Fügen Sie Ihren PAT ein, und geben Sie ihn den Namen
AZURE_DEVOPS_TOKEN
.Speichern Sie die Änderungen, indem Sie die Option Add secret (Geheimnis hinzufügen) auswählen.
Erstellen eines GitHub Workflows, der eine Pipeline auslöst
GitHub Workflows sind eine Reihe von Aktionen (z. B. Aufgaben in Azure Pipelines). Verwenden Sie die Azure Pipelines-Aktion, um eine Pipelineausführung auszulösen.
Führen Sie die folgenden Schritte aus, um einen Workflow aus GitHub Actions zu erstellen. Anschließend können Sie den Workflow anpassen, um Ihren Anforderungen gerecht zu werden. Der relevante Abschnitt für die Verbindung mit Azure Pipelines ist die Azure Pipelines Aktion.
Erstellen Sie in Ihrem Repository auf GitHub eine YAML-Datei im
.github/workflows
Verzeichnis.Kopieren Sie den folgenden Inhalt in Ihre YAML-Datei. Passen Sie die
azure-devops-project-url
Werte anazure-pipeline-name
. Dasazure-devops-project-url
sollte keinen nachgestellten Schrägstrich haben.name: CI # Run this workflow every time a commit gets pushed to main or a pull request gets opened against main on: push: branches: - main pull_request: branches: - main jobs: build: name: Call Azure Pipeline runs-on: ubuntu-latest steps: - name: Azure Pipelines Action uses: Azure/pipelines@v1 with: azure-devops-project-url: https://dev.azure.com/organization/project-name azure-pipeline-name: 'My Pipeline' azure-devops-token: ${{ secrets.AZURE_DEVOPS_TOKEN }}
Commit und Push ihrer Workflowdatei.
Der Workflow wird jedes Mal ausgeführt, wenn Sie einen Commit zum Haupt- oder Öffnen einer Pullanforderung gegen Main pushen. Um zu überprüfen, ob Ihre Aktion ausgeführt wurde, öffnen Sie Ihr GitHub Repository, und wählen Sie "Aktionen" aus.
Wählen Sie den Workflowtitel aus, um weitere Informationen zur Ausführung anzuzeigen. Sie sollten ein grünes Häkchen für die Azure Pipelines Aktion anzeigen. Öffnen Sie die Aktion, um einen direkten Link zur Pipelineausführung anzuzeigen.
Überlegungen zu Zweigen
Die Pipeline, auf die Ihre Zweigstelle ausgeführt wird, hängt davon ab, ob sich Ihre Pipeline in derselben Repo wie Ihre GitHub Workflowdatei befindet.
- Wenn sich die Pipeline und der GitHub-Workflow in unterschiedlichen Repositorys befinden, wird die ausgelöste Pipelineversion in der von Standard branch angegebenen Branch für manuelle und geplante Builds ausgeführt.
- Wenn sich die Pipeline und der GitHub-Workflow im gleichen Repository befinden, wird die ausgelöste Pipelineversion in derselben Verzweigung wie die Triggerpipeline ausgeführt.
Informationen zum Konfigurieren des Standardzweigs für manuelle und geplante Builds finden Sie unter Standardzweig für manuelle und geplante Builds.
Bereinigen von Ressourcen
Wenn Sie ihren GitHub Workflow nicht weiterhin verwenden möchten, deaktivieren Sie den Workflow.