Skip to main content

Migrieren von Bitbucket-Pipelines mit GitHub Actions Importer

Erfahren Sie, wie Sie mit dem GitHub Actions Importer die Migration Ihrer Bitbucket-Pipelines zu GitHub Actions automatisierst.

Rechtliche Hinweise

Informationen zum Migrieren von Bitbucket-Pipelines mit dem GitHub Actions Importer

In den folgenden Anweisungen erfahren Sie, wie Sie Ihre Umgebung so konfigurieren, dass der GitHub Actions Importer zum Migrieren von Bitbucket-Pipelines zu GitHub Actions verwendet wird.

Voraussetzungen

  • Eine Umgebung, in der du Linux-basierte Container ausführen und die erforderlichen Tools installieren kannst:

    Hinweis: Der GitHub Actions Importer-Container und die CLI müssen nicht auf demselben Server wie deine CI-Plattform installiert werden.

Begrenzungen

Bei der Migration von Bitbucket-Pipelines zu GitHub Actions mit dem GitHub Actions Importer gelten einige Einschränkungen.

  • Images in einem privaten AWS ECR werden nicht unterstützt.

  • Die Bitbucket Pipelines Option size wird nicht unterstützt. Wenn zusätzliche Runnerressourcen in GitHub Actions erforderlich sind, sollten Sie größerer Runner verwenden. Weitere Informationen finden Sie unter „Verwenden größerer Runner“.

  • Metriken, die die Warteschlangenzeit von Aufträgen enthalten, werden vom Befehl forecast nicht unterstützt.

  • Bitbucket-Nachskripte werden mithilfe von GitHub Actions always() in Kombination mit der Überprüfung von steps.<step_id>.conclusion im vorherigen Schritt unterstützt. Weitere Informationen findest du unter Zugreifen auf kontextbezogene Informationen zu Workflowausführungen.

    Das folgende Beispiel veranschaulicht die Verwendung des always() mit steps.<step_id>.conclusion.

      - name: After Script 1
        run: |-
          echo "I'm after the script ran!"
          echo "We should be grouped!"
        id: after-script-1
        if: "${{ always() }}"
      - name: After Script 2
        run: |-
          echo "this is really the end"
          echo "goodbye, for now!"
        id: after-script-2
        if: "${{ steps.after-script-1.conclusion == 'success' && always() }}"
    

Manuelle Aufgaben

Bestimmte Bitbucket Pipelines-Konstrukte müssen manuell migriert werden. Dazu gehören:

  • Gesichertes Repository, Arbeitsbereich und Bereitstellungsvariablen
  • SSH-Schlüssel

Installieren der GitHub Actions Importer-CLI-Erweiterung

  1. So installierst du die GitHub Actions Importer-CLI-Erweiterung:

    Bash
    gh extension install github/gh-actions-importer
    
  2. Überprüfe, ob die Erweiterung installiert ist:

    $ gh actions-importer -h
    Options:
      -?, -h, --help  Show help and usage information
    
    Commands:
      update     Update to the latest version of GitHub Actions Importer.
      version    Display the version of GitHub Actions Importer.
      configure  Start an interactive prompt to configure credentials used to authenticate with your CI server(s).
      audit      Plan your CI/CD migration by analyzing your current CI/CD footprint.
      forecast   Forecast GitHub Actions usage from historical pipeline utilization.
      dry-run    Convert a pipeline to a GitHub Actions workflow and output its yaml file.
      migrate    Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.
    

Konfigurieren von Anmeldeinformationen

Mit dem CLI-Befehl configure werden die erforderlichen Anmeldeinformationen und Optionen für den GitHub Actions Importer beim Arbeiten mit Bitbucket Pipelines und GitHub festgelegt.

  1. Erstelle ein GitHub-personal access token (classic). Weitere Informationen findest du unter Verwalten deiner persönlichen Zugriffstoken.

    Ihr Token muss als Bereich workflow verwenden.

    Kopiere das Token nach dem Erstellen zur späteren Verwendung an einen sicheren Speicherort.

  2. Erstellen Sie ein Arbeitsbereichszugriffstoken für Bitbucket-Pipelines. Weitere Informationen finden Sie in der Bitbucket-Dokumentation unter Berechtigungen für Arbeitsbereichszugriffstoken . Ihr Token muss den Bereich read für Pipelines, Projekte und Repositorys aufweisen.

  3. Führe am Terminal in der GitHub Actions Importer CLI den Befehl configure aus:

    gh actions-importer configure
    

    Sie werden vom Befehl configure zur Eingabe folgender Informationen aufgefordert:

    • Wähle unter der Frage nach dem CI-Anbieter mithilfe der Pfeiltasten Bitbucket aus, drücke die LEERTASTE, um die Option zu markieren, und drücke dann die EINGABETASTE.
    • Geben Sie für „Personal access token für GitHub“ den Wert des personal access token (classic) ein, das Sie zuvor erstellt haben, und drücken Sie die EINGABETASTE.
    • Unter „Basis-URL der GitHub-Instanz“ drücken Sie die EINGABETASTE, um den Standardwert (https://github.com) zu übernehmen.
    • Geben Sie für „Personal access token für Bitbucket“ den Wert des Workspace-Zugriffstokens ein, das Sie zuvor erstellt haben, und drücken Sie die Eingabetaste.
    • Geben Sie als „Basis-URL der Bitbucket-Instanz“ die URL Ihrer Bitbucket-Instanz ein, und drücken Sie die Eingabetaste.

    Ein Beispiel für den Befehl configure:

    $ gh actions-importer configure
    ✔ Which CI providers are you configuring?: Bitbucket
    Enter the following values (leave empty to omit):
    ✔ Personal access token for GitHub: ***************
    ✔ Base url of the GitHub instance: https://github.com
    ✔ Personal access token for Bitbucket: ********************
    ✔ Base url of the Bitbucket instance: https://bitbucket.example.com
    Environment variables successfully updated.
    
  4. Führe am Terminal den CLI-Befehl GitHub Actions Importer update aus, um eine Verbindung mit GitHub Packages Container registry herzustellen, und überprüfe, ob das Containerimage auf die neueste Version aktualisiert wurde:

    gh actions-importer update
    

    Die Ausgabe dieses Befehls sollte in etwa wie folgt aussehen:

    Updating ghcr.io/actions-importer/cli:latest...
    ghcr.io/actions-importer/cli:latest up-to-date
    

Durchführen einer Überwachung der Bitbucket-Instanz

Mit dem Befehl Überwachen können Sie eine allgemeine Ansicht aller Pipelines auf einer Bitbucket-Instanz abrufen.

Mit dem Befehl Überwachen werden die folgenden Aktionen ausgeführt.

  1. Ruft alle Pipelines für einen Arbeitsbereich ab.
  2. Konvertiert die Pipeline in den entsprechenden GitHub Actions-Workflow.
  3. Generieren eines Zusammenfassungsberichts darüber, wie vollständig und komplex eine Migration mit GitHub Actions Importer wäre

Ausführen des Überprüfungsbefehls

Wenn Sie eine Überwachung ausführen möchten, führen Sie den folgenden Befehl in Ihrem Terminal aus, indem Sie :workspace durch den Namen des zu überwachenden Bitbucket-Arbeitsbereichs ersetzen.

gh actions-importer audit bitbucket --workspace :workspace --output-dir tmp/audit

Optional kann dem Überwachungsbefehl eine --project-key Option bereitgestellt werden, um die Ergebnisse nur auf Pipelines zu beschränken, die einem Projekt zugeordnet sind.

Im folgenden Beispielbefehl sollte :project_key durch den Schlüssel des Projekts ersetzt werden, der überwacht werden soll. Projektschlüssel finden Sie in Bitbucket auf der Arbeitsbereichsprojektseite.

gh actions-importer audit bitbucket --workspace :workspace --project-key :project_key --output-dir tmp/audit

Untersuchen der Überprüfungsergebnisse

Die Dateien im angegebenen Ausgabeverzeichnis enthalten die Ergebnisse der Überprüfung. Eine Zusammenfassung der Überprüfungsergebnisse findest du in der Datei audit_summary.md.

Die Überprüfungszusammenfassung enthält die folgenden Abschnitte.

Pipelines

Der Abschnitt „Pipelines“ enthält eine allgemeine Statistik zur Konvertierungsrate durch den GitHub Actions Importer.

Im Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Pipelines“ enthalten sein können:

  • Bei erfolgreichen Pipelines wurden 100 % der Pipelinekonstrukte und Einzelelemente automatisch in ihre GitHub Actions-Entsprechung konvertiert.
  • Bei teilweise erfolgreichen Pipelines wurden zwar alle Pipelinekonstrukte, aber nicht alle Einzelelemente automatisch in ihre GitHub Actions-Entsprechung konvertiert.
  • Nicht unterstützte Pipelines sind Definitionstypen, die vom GitHub Actions Importer nicht unterstützt werden.
  • Bei fehlerhaften Pipelines ist beim Konvertieren ein schwerwiegender Fehler aufgetreten. Dies kann aus drei Gründen auftreten:
    • Die Pipeline war ursprünglich falsch konfiguriert und nicht gültig.
    • Der GitHub Actions Importer hat beim Konvertieren ein interner Fehler festgestellt.
    • Es gab eine nicht erfolgreiche Netzwerkantwort, die dazu führte, dass auf die Pipeline nicht zugegriffen werden konnte. Dies ist häufig auf ungültige Anmeldeinformationen zurückzuführen.

Buildschritte

Der Abschnitt „Buildschritte“ enthält eine Übersicht über die einzelnen Buildschritte, die in allen Pipelines verwendet werden, und darüber, wie viele davon vom GitHub Actions Importer automatisch konvertiert wurden.

Im Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Buildschritte“ enthalten sein können:

  • Ein bekannter Buildschritt ist ein Schritt, der automatisch in eine entsprechende Aktion konvertiert wurde.
  • Ein unbekannter Buildschritt ist ein Schritt, der nicht automatisch in eine entsprechende Aktion konvertiert wurde.
  • Ein nicht unterstützter Buildschritt ist ein Schritt, für den eine der folgenden Aussagen zutrifft:
    • Er wird grundsätzlich von GitHub Actions nicht unterstützt.
    • Seine Konfiguration ist mit GitHub Actions nicht kompatibel.
  • Eine Aktion ist eine Liste der Aktionen, die in den konvertierten Workflows verwendet wurden. Dies kann für Folgendes wichtig sein:
    • Zum Sammeln der Liste der Aktionen, die mit deiner Instanz synchronisiert werden sollen, sofern du GitHub Enterprise Server verwendest
    • Zum Definieren einer Positivliste der verwendeten Aktionen auf Organisationsebene. Diese Aktionenliste enthält sämtliche Aktionen, die von den Sicherheits- oder Complianceteams möglicherweise überprüft werden müssen.

Manuelle Aufgaben

Der Abschnitt „Manuelle Aufgaben“ enthält eine Übersicht über Aufgaben, die der GitHub Actions Importer nicht automatisch ausführen kann und die du manuell ausführen musst.

Im Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Manuelle Aufgaben“ enthalten sein können:

  • Ein Geheimnis gilt auf Repository- oder Organisationsebene und wird in den konvertierten Pipelines verwendet. Diese Geheimnisse müssen manuell in GitHub Actions erstellt werden, damit diese Pipelines ordnungsgemäß funktionieren. Weitere Informationen findest du unter Verwenden von Geheimnissen in GitHub-Aktionen.
  • Selbstgehosteter Runner ist eine Bezeichnung für Runner, auf die in einer konvertierten Pipeline verwiesen wird, und die nicht von GitHub gehostet werden. Du musst diese Runner manuell definieren, damit diese Pipelines ordnungsgemäß funktionieren.

Dateien

Der letzte Abschnitt des Überprüfungsberichts enthält ein Manifest aller Dateien, die während der Überprüfung auf den Datenträger geschrieben wurden.

Für jede Pipelinedatei werden verschiedene Dateien überprüft, z. B.:

  • Die ursprüngliche Pipeline, wie in GitHub definiert
  • Alle Netzwerkantworten, die zum Konvertieren der Pipeline verwendet werden
  • Die konvertierte Workflowdatei
  • Stapelablaufverfolgungen, die zur Problembehandlung bei einer fehlerhaften Pipelinekonvertierung verwendet werden können

Darüber hinaus enthält die Datei workflow_usage.csv eine durch Trennzeichen getrennte Liste aller Aktionen, Geheimnisse und Runner, die von jeder erfolgreich konvertierten Pipeline verwendet werden. Dies kann nützlich sein, um zu bestimmen, welche Workflows Aktionen, Geheimnisse oder Runner verwenden, und um Sicherheitsüberprüfungen durchzuführen.

Vorhersagen der Nutzung

Mit dem Befehl forecast können Sie die potenzielle GitHub Actions-Nutzung vorhersagen, indem Sie Metriken aus abgeschlossenen Pipelineausführungen in Ihrer Bitbucket-Instanz berechnen.

Ausführen des Vorhersagebefehls

Führen Sie zum Ausführen einer Prognose potenzieller GitHub-Aktionen den folgenden Befehl in Ihrem Terminal aus, und ersetzen Sie :workspace durch den Namen des Bitbucket-Arbeitsbereichs. GitHub Actions Importer enthält standardmäßig die vorherigen sieben Tage im Prognosebericht.

gh actions-importer forecast bitbucket --workspace :workspace --output-dir tmp/forecast_reports

Prognose eines Projekts

Um die Prognose auf ein Projekt zu beschränken, können Sie die --project-key Option verwenden. Ersetzen Sie den Wert für :project_key durch den Projektschlüssel für das zu erwartende Projekt.

gh actions-importer forecast bitbucket --workspace :workspace --project-key :project_key --output-dir tmp/forecast_reports

Überprüfen des Prognoseberichts

Die Datei forecast_report.md im angegebenen Ausgabeverzeichnis enthält die Ergebnisse der Vorhersage.

Im Folgenden sind einige wichtige Begriffe aufgeführt, die im Vorhersagebericht enthalten sein können:

  • Die Auftragsanzahl ist die Gesamtanzahl der abgeschlossenen Aufträge.
  • Die Pipelineanzahl ist die Anzahl der verwendeten eindeutigen Pipelines.
  • Die Ausführungszeit ist die Zeit, die ein Runner für einen Auftrag aufgewendet hat. Mithilfe dieser Metrik können die Kosten für von GitHub gehosteten Runnern geplant werden.
    • Diese Metrik korreliert damit, wie viel Sie als Ausgaben in GitHub Actions einplanen sollten. Dies hängt von der Hardware ab, die für diese Ausführungszeit verwendet wurde. Sie können den Preisrechner für GitHub Actions verwenden, um die Kosten zu schätzen.
  • Metriken zu gleichzeitigen Aufträgen beschreiben die Anzahl der Aufträge, die zu einem bestimmten Zeitpunkt ausgeführt werden.

Ausführen eines Probeimports

Mit dem Probeimport-Befehl können Sie eine Bamboo-Pipeline in einen entsprechenden GitHub Actions-Workflow konvertieren. Bei einem Probelauf werden nur die Ausgabedateien in einem angegebenen Verzeichnis erstellt, aber kein Pull Request zum Migrieren der Pipeline erstellt.

Ausführen des Probelaufbefehls

Führen Sie für einen Probeimport einer Bitbucket-Pipeline zu GitHub Actions den folgenden Befehl am Terminal aus, und ersetzen Sie dabei :workspace durch den Namen des Arbeitsbereichs und :repo durch den Namen Ihres Repositorys in Bitbucket.

gh actions-importer dry-run bitbucket --workspace :workspace --repository :repo --output-dir tmp/dry-run

Überprüfen der konvertierten Workflows

Sie können die Protokolle des Probelaufs und die konvertierten Workflowdateien im angegebenen Ausgabeverzeichnis überprüfen.

Wenn der GitHub Actions Importer etwas nicht automatisch konvertieren konnte (z. B. unbekannte Buildschritte oder eine teilweise erfolgreiche Pipeline), solltest du benutzerdefinierte Transformatoren erstellen, um den Konvertierungsprozess präziser anzupassen. Weitere Informationen findest du unter Erweitern von GitHub Actions Importer mit benutzerdefinierten Transformatoren.

Ausführen einer Produktionsmigration

Mit dem Migrationsbefehl können Sie eine Bitbucket-Pipeline in (einen) entsprechende(n) GitHub Actions-Workflow(s) konvertieren und einen Pull Request erstellen.

Ausführen des Migrationsbefehls

Um eine Bitbucket-Pipeline zu GitHub Actions zu migrieren, führen Sie den folgenden Befehl in Ihrem Terminal aus, und ersetzen Sie dabei die folgenden Werte.

  • Ersetzen Sie den Wert target-url durch die URL für Ihr GitHub-Repository.
  • Ersetzen Sie :repo durch den Namen des Repositorys in Bitbucket.
  • Ersetzen Sie :workspace durch den Namen Ihres Arbeitsbereichs.
gh actions-importer migrate bitbucket --workspace :workspace --repository :repo --target-url https://github.com/:owner/:repo --output-dir tmp/dry-run

Die Ausgabe des Befehls enthält die URL zum Pull Request, der den konvertierten Workflow Ihrem Repository hinzufügt. Beispiel für eine erfolgreiche Ausgabe:

gh actions-importer migrate bitbucket --workspace actions-importer --repository custom-trigger --target-url https://github.com/valet-dev-testing/demo-private --output-dir tmp/bitbucket
[2023-07-18 09:56:06] Logs: 'tmp/bitbucket/log/valet-20230718-165606.log'
[2023-07-18 09:56:24] Pull request: 'https://github.com/valet-dev-testing/demo-private/pull/55'

Überprüfen des Pull Requests

Die Ausgabe einer erfolgreichen Ausführung des Befehls migrate enthält einen Link zum neuen Pull Request, mit dem der konvertierte Workflow deinem Repository hinzugefügt wird.

Wichtige Elemente des Pull Requests:

  • In der Beschreibung des Pull Requests findest du den Abschnitt Manuelle Schritte, in dem Schritte aufgeführt sind, die du manuell ausführen musst, um die Migration deiner Pipelines zu GitHub Actions abschließen zu können. In diesem Abschnitt könnte z. B. stehen, dass du Geheimnisse erstellen musst, die im Workflows verwendet werden.
  • Die konvertierte Workflowdatei Wähle im Pull Request die Registerkarte Geänderte Dateien aus, um die Workflowdatei anzuzeigen, die deinem GitHub-Repository hinzugefügt wird.

Nachdem du den Pull Request überprüft hast, kannst du ihn zusammenführen, um den Workflow deinem GitHub-Repository hinzuzufügen.

Verweis

Dieser Abschnitt enthält Referenzinformationen zu Umgebungsvariablen, optionalen Argumenten und der unterstützten Syntax, wenn der GitHub Actions Importer für die Migration aus Bitbucket Pipelines.

Verwenden von Umgebungsvariablen

GitHub Actions Importer verwendet Umgebungsvariablen für die Konfiguration der Authentifizierung. Diese Variablen werden beim Ausführen des Konfigurationsvorgangs mithilfe des Befehls configure festgelegt. Weitere Informationen findest du im Abschnitt Konfigurieren von Anmeldeinformationen.

GitHub Actions Importer verwendet die folgenden Umgebungsvariablen, um eine Verbindung mit Ihrer Bitbucket-Instanz herzustellen:

  • GITHUB_ACCESS_TOKEN: Das personal access token (classic) zum Erstellen von Pull Requests mit einem konvertierten Workflow (erfordert die Bereiche repo und workflow).
  • GITHUB_INSTANCE_URL: Die URL zur GitHub-Zielinstanz. (z.B. https://github.com)
  • BITBUCKET_ACCESS_TOKEN: Das Arbeitsbereichszugriffstoken mit Lesebereichen für Pipeline, Projekt und Repository.

Diese Umgebungsvariablen können in einer .env.local-Datei angegeben werden, die zur Ausführungszeit vom GitHub Actions Importer geladen wird. Das Verteilungsarchiv enthält eine .env.local.template-Datei, die zum Erstellen dieser Dateien verwendet werden kann.

Optionale Argumente

Es gibt einige optionale Argumente, die du mit den Unterbefehlen von GitHub Actions Importer verwenden kannst, um deine Migration anzupassen.

--source-file-path

Sie können das Argument --source-file-path mit den Unterbefehlen dry-run oder migrate verwenden.

Standardmäßig ruft der GitHub Actions Importer Pipelineinhalte aus der Bitbucket-Instanz ab. Das --source-file-path-Argument weist den GitHub Actions Importer an, stattdessen den angegebenen Quelldateipfad zu verwenden.

Beispiel:

gh actions-importer dry-run bitbucket --workspace :workspace --repository :repo --output-dir tmp/dry-run --source-file-path path/to/my/pipeline/file.yml

--config-file-path

Sie können das Argument --config-file-path mit den Unterbefehlen audit, dry-run und migrate verwenden.

Standardmäßig ruft der GitHub Actions Importer Pipelineinhalte aus der Bitbucket-Instanz ab. Das --config-file-path-Argument weist den GitHub Actions Importer an, stattdessen die angegebenen Quelldateien zu verwenden.

Beispiel für „audit“

In diesem Beispiel verwendet der GitHub Actions Importer die angegebene YAML-Konfigurationsdatei für eine Überprüfung.

gh actions-importer audit bitbucket --workspace :workspace --output-dir tmp/audit --config-file-path "path/to/my/bitbucket/config.yml"

Um eine Bitbucket-Instanz mithilfe einer Konfigurationsdatei zu überprüfen, muss die Konfigurationsdatei das folgende Format aufweisen, und jeder repository_slug-Wert muss eindeutig sein:

source_files:
  - repository_slug: repo_name
    path: path/to/one/source/file.yml
  - repository_slug: another_repo_name
    path: path/to/another/source/file.yml

Unterstützte Syntax für Bitbucket-Pipelines

Die folgende Tabelle zeigt den Typ der Eigenschaften, die der GitHub Actions Importer derzeit konvertieren kann.

BitbucketGitHub-AktionenStatus
after-scriptjobs.<job_id>.steps[*]Unterstützt
artifactsactions/upload-artifact & download-artifactUnterstützt
cachesactions/cacheUnterstützt
cloneactions/checkoutUnterstützt
conditionjob.<job_id>.steps[*].runUnterstützt
deploymentjobs.<job_id>.environmentUnterstützt
imagejobs.<job_id>.containerUnterstützt
max-timejobs.<job_id>.steps[*].timeout-minutesUnterstützt
options.dockerKeineUnterstützt
options.max-timejobs.<job_id>.steps[*].timeout-minutesUnterstützt
paralleljobs.<job_id>Unterstützt
pipelines.brancheson.pushUnterstützt
pipelines.customon.workflow_dispatchUnterstützt
pipelines.defaulton.pushUnterstützt
pipelines.pull-requestson.pull_requestsUnterstützt
pipelines.tagson.tagsUnterstützt
runs-onjobs.<job_id>.runs-onUnterstützt
scriptjob.<job_id>.steps[*].runUnterstützt
servicesjobs.<job_id>.serviceUnterstützt
stagejobs.<job_id>Unterstützt
stepjobs.<job_id>.steps[*]Unterstützt
triggeron.workflow_dispatchUnterstützt
fail-fastKeineNicht unterstützt
oidcKeineNicht unterstützt
options.sizeKeineNicht unterstützt
sizeKeineNicht unterstützt

Zuordnung von Umgebungsvariablen

Der GitHub Actions Importer verwendet die Zuordnungen in der folgenden Tabelle, um die Standardumgebungsvariablen von Bitbucket in das am besten passende Pendant in GitHub Actions zu konvertieren.

BitbucketGitHub-Aktionen
CItrue
BITBUCKET_BUILD_NUMBER${{ github.run_number }}
BITBUCKET_CLONE_DIR${{ github.workspace }}
BITBUCKET_COMMIT${{ github.sha }}
BITBUCKET_WORKSPACE${{ github.repository_owner }}
BITBUCKET_REPO_SLUG${{ github.repository }}
BITBUCKET_REPO_UUID${{ github.repository_id }}
BITBUCKET_REPO_FULL_NAME${{ github.repository_owner }}/${{ github.repository }}
BITBUCKET_BRANCH${{ github.ref }}
BITBUCKET_TAG${{ github.ref }}
BITBUCKET_PR_ID${{ github.event.pull_request.number }}
BITBUCKET_PR_DESTINATION_BRANCH${{ github.event.pull_request.base.ref }}
BITBUCKET_GIT_HTTP_ORIGIN${{ github.event.repository.clone_url }}
BITBUCKET_GIT_SSH_ORIGIN${{ github.event.repository.ssh_url }}
BITBUCKET_EXIT_CODE${{ job.status }}
BITBUCKET_STEP_UUID${{ job.github_job }}
BITBUCKET_PIPELINE_UUID${{ github.workflow }}
BITBUCKET_PROJECT_KEY${{ github.repository_owner }}
BITBUCKET_PROJECT_UUID${{ github.repository_owner }}
BITBUCKET_STEP_TRIGGERER_UUID${{ github.actor_id }}
BITBUCKET_SSH_KEY_FILE${{ github.workspace }}/.ssh/id_rsa
BITBUCKET_STEP_OIDC_TOKENKeine Zuordnung
BITBUCKET_DEPLOYMENT_ENVIRONMENTKeine Zuordnung
BITBUCKET_DEPLOYMENT_ENVIRONMENT_UUIDKeine Zuordnung
BITBUCKET_BOOKMARKKeine Zuordnung
BITBUCKET_PARALLEL_STEPKeine Zuordnung
BITBUCKET_PARALLEL_STEP_COUNTKeine Zuordnung

Systemvariablen

Systemvariablen, die in Aufgaben verwendet werden, werden in die entsprechende Bash-Shell-Variable transformiert und als verfügbar angenommen. Beispielsweise wird ${system.<variable.name>} in $variable_name transformiert. Es empfiehlt sich, dies zu überprüfen, um den ordnungsgemäßen Betrieb des Workflows sicherzustellen.

Teile wurden von https://github.com/github/gh-actions-importer/ unter der MIT-Lizenz übernommen:

MIT License

Copyright (c) 2022 GitHub

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.