{"meta":{"title":"Migration von Bamboo mit dem GitHub Actions Importer","intro":"Erfahren Sie, wie Sie GitHub Actions Importer verwenden, um die Migration Ihrer Bamboo-Pipelines zu GitHub Actions zu automatisieren.","product":"GitHub Actions","breadcrumbs":[{"href":"/de/actions","title":"GitHub Actions"},{"href":"/de/actions/tutorials","title":"Anleitungen"},{"href":"/de/actions/tutorials/migrate-to-github-actions","title":"Migrieren zu GitHub Actions"},{"href":"/de/actions/tutorials/migrate-to-github-actions/automated-migrations","title":"Automatisierte Migrationen"},{"href":"/de/actions/tutorials/migrate-to-github-actions/automated-migrations/bamboo-migration","title":"Migration von Bamboo"}],"documentType":"article"},"body":"# Migration von Bamboo mit dem GitHub Actions Importer\n\nErfahren Sie, wie Sie GitHub Actions Importer verwenden, um die Migration Ihrer Bamboo-Pipelines zu GitHub Actions zu automatisieren.\n\n## Informationen zur Migration von Bamboo mit dem GitHub Actions Importer\n\nDie folgenden Anweisungen helfen Ihnen dabei, Ihre Umgebung so zu konfigurieren, dass Sie GitHub Actions Importer verwenden können, um Bamboo-Pipelines zu GitHub Actions zu migrieren.\n\n### Voraussetzungen\n\n* Ein Bamboo-Konto oder eine Organisation mit Projekten und Pipelines, die Sie in GitHub Actions Workflows umwandeln möchten.\n* Bamboo, Version 7.1.1 oder höher.\n* Zugriff zum Erstellen eines Bamboo personal access token für Ihr Konto oder Ihre Organisation.\n* Eine Umgebung, in der du Linux-basierte Container ausführen und die erforderlichen Tools installieren kannst:\n  * Docker ist [installiert](https://docs.docker.com/get-docker/) und wird ausgeführt.\n\n  * Die [GitHub-CLI](https://cli.github.com) ist installiert.\n  > \\[!NOTE]\n  > Der GitHub Actions Importer-Container und die CLI müssen nicht auf demselben Server wie deine CI-Plattform installiert werden.\n\n### Einschränkungen\n\nEs gibt einige Einschränkungen bei der Migration von Bamboo zu GitHub Actions mit GitHub Actions Importer:\n\n* GitHub Actions Importer basiert auf der YAML-Spezifikation, die vom Bamboo Server generiert wird, um Migrationen durchzuführen. Wenn Bamboo den Export nach YAML nicht unterstützt, werden die fehlenden Informationen nicht migriert.\n* Triggerbedingungen werden nicht unterstützt. Wenn GitHub Actions Importer auf einen Trigger mit einer Bedingung trifft, wird die Bedingung als Kommentar angezeigt und der Trigger ohne diese Bedingung umgewandelt.\n* Bamboo-Pläne mit angepassten Einstellungen zum Speichern von Artefakten werden nicht transformiert. Stattdessen werden Artefakte mithilfe der Aktionen [`upload-artifact`](https://github.com/actions/upload-artifact) und [`download-artifact`](https://github.com/actions/download-artifact) gespeichert und abgerufen.\n* Deaktivierte Pläne müssen manuell in der GitHub-Benutzeroberfläche deaktiviert werden. Weitere Informationen finden Sie unter [Deaktivieren und Aktivieren eines Workflows](/de/actions/how-tos/manage-workflow-runs/disable-and-enable-workflows).\n* Deaktivierte Aufträge werden mit einer `if: false`-Bedingung transformiert, die die Ausführung verhindert. Du musst diese entfernen, um den Auftrag erneut zu aktivieren.\n* Deaktivierte Aufgaben werden nicht transformiert, da sie bei Verwendung der Bamboo-API nicht im exportierten Plan enthalten sind.\n* Bamboo bietet Optionen zum Bereinigen von Buildarbeitsbereichen nach Abschluss eines Builds. Diese werden nicht transformiert, da davon ausgegangen wird, dass von GitHub gehostete Runner oder kurzlebige selbstgehostete Runner dies automatisch verarbeiten.\n* Die Optionen zur Erkennung hängender Builds werden nicht übernommen, da es in GitHub Actions keine Entsprechung gibt. Die Option, die dem am nächsten kommt, ist `timeout-minutes` für einen Auftrag. Damit lässt festlegen, für wie viele Minuten ein Auftrag ausgeführt werden soll. Weitere Informationen finden Sie unter [Workflowsyntax für GitHub Actions](/de/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idtimeout-minutes).\n* Bezeichnungen für den Musterabgleich werden nicht umgewandelt, da es in GitHub Actions keine Entsprechung gibt.\n* Alle Artefakte werden unabhängig davon, ob sie `actions/upload-artifact` sind oder nicht, in ein `shared` transformiert, sodass sie von jedem Auftrag im Workflow heruntergeladen werden können.\n* Berechtigungen werden nicht umgewandelt, da es in GitHub Actions kein geeignetes Äquivalent gibt.\n* Wenn es sich um eine Bambus-Version zwischen 7.1.1 und 8.1.1 handelt, werden Projekt- und Planvariablen nicht migriert.\n\n#### Manuelle Aufgaben\n\nBestimmte Bamboo-Konstrukte müssen manuell migriert werden. Dazu zählen:\n\n* Maskierte Variablen\n* Artefaktablaufeinstellungen\n\n## Installieren der GitHub Actions Importer CLI-Erweiterung\n\n1. So installierst du die GitHub Actions Importer-CLI-Erweiterung:\n\n   ```bash copy\n   gh extension install github/gh-actions-importer\n   ```\n\n2. Überprüfe, ob die Erweiterung installiert ist:\n\n   ```bash\n   $ gh actions-importer -h\n   Options:\n     -?, -h, --help  Show help and usage information\n\n   Commands:\n     update     Update to the latest version of GitHub Actions Importer.\n     version    Display the version of GitHub Actions Importer.\n     configure  Start an interactive prompt to configure credentials used to authenticate with your CI server(s).\n     audit      Plan your CI/CD migration by analyzing your current CI/CD footprint.\n     forecast   Forecast GitHub Actions usage from historical pipeline utilization.\n     dry-run    Convert a pipeline to a GitHub Actions workflow and output its yaml file.\n     migrate    Convert a pipeline to a GitHub Actions workflow and open a pull request with the changes.\n   ```\n\n## Konfigurieren von Anmeldeinformationen\n\nDer `configure` CLI-Befehl wird verwendet, um erforderliche Anmeldeinformationen und Optionen für GitHub Actions Importer bei der Arbeit mit Bamboo und GitHub festzulegen.\n\n1. Erstellen Sie eine GitHubpersonal access token (classic). Weitere Informationen finden Sie unter [Verwalten deiner persönlichen Zugriffstoken](/de/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic).\n\n   Ihr Token muss den `workflow` Bereich haben.\n\n   Kopiere das Token nach dem Erstellen zur späteren Verwendung an einen sicheren Speicherort.\n\n2. Erstellen Sie einen Bambus personal access token. Weitere Informationen finden Sie [Personal Access Tokens](https://confluence.atlassian.com/bamboo/personal-access-tokens-976779873.html) in der Bambusdokumentation.\n\n   Dein Token muss über die folgenden Berechtigungen verfügen, je nachdem, welche Ressourcen transformiert werden.\n\n   | Ressourcentyp           |                                                                                                                                                          Sicht                                                                                                                                                          |                                                                                                                                                                                                       Konfiguration anzeigen                                                                                                                                                                                                       |                                                                                                                                                                                                             Bearbeiten                                                                                                                                                                                                             |\n   | :---------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |\n   | Buildplan               | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Required\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> |                                                       <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Required\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                      |                                                       <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Required\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                      |\n   | Bereitstellungsprojekt  | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Required\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> |                                                       <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Required\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                      | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not required\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n   | Bereitstellungsumgebung | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Required\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not required\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not required\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n\n   Kopiere das Token nach dem Erstellen zur späteren Verwendung an einen sicheren Speicherort.\n\n3. Führen Sie in Ihrem Terminal den CLI-Befehl GitHub Actions Importer`configure` aus.\n\n   ```shell\n   gh actions-importer configure\n   ```\n\n   Sie werden vom Befehl `configure` zur Eingabe folgender Informationen aufgefordert:\n\n   * Für \"Welche CI-Anbieter konfigurieren Sie?\", verwenden Sie die Pfeiltasten, um `Bamboo` zu wählen, drücken Sie die <kbd>Leertaste</kbd>, um es auszuwählen, und drücken Sie dann <kbd>Enter</kbd>.\n   * Geben Sie für \"Personal access token für GitHub\" den zuvor erstellten Wert von personal access token (classic) ein und drücken Sie <kbd>die EINGABETASTE</kbd>.\n   * Geben Sie für \"Basis-URL der GitHub-Instanz\" Drücken Sie <kbd>die EINGABETASTE</kbd>, um den Standardwert (`https://github.com`) zu akzeptieren.\n   * Geben Sie für \"Personal access token für Bamboo\" den Wert für die Bamboo-personal access token ein, die Sie zuvor erstellt haben, und drücken Sie <kbd>die Eingabetaste</kbd>.\n   * Gib bei „Basis-URL der Bamboo-Instanz“ die URL für deine Bamboo Server- oder Bamboo Data Center-Instanz ein, und drücke die <kbd>EINGABETASTE</kbd>.\n\n   Ein Beispiel für den Befehl `configure`:\n\n   ```shell\n   $ gh actions-importer configure\n   ✔ Which CI providers are you configuring?: Bamboo\n   Enter the following values (leave empty to omit):\n   ✔ Personal access token for GitHub: ***************\n   ✔ Base url of the GitHub instance: https://github.com\n   ✔ Personal access token for Bamboo: ********************\n   ✔ Base url of the Bamboo instance: https://bamboo.example.com\n   Environment variables successfully updated.\n   ```\n\n4. Führen Sie in Ihrem Terminal den GitHub Actions Importer`update` CLI-Befehl aus, um eine Verbindung herzustellen GitHub PackagesContainer registry und sicherzustellen, dass das Containerimage auf die neueste Version aktualisiert wird:\n\n   ```shell\n   gh actions-importer update\n   ```\n\n   Die Ausgabe dieses Befehls sollte in etwa wie folgt aussehen:\n\n   ```shell\n   Updating ghcr.io/actions-importer/cli:latest...\n   ghcr.io/actions-importer/cli:latest up-to-date\n   ```\n\n## Ein Audit von Bamboo durchführen\n\nMit dem Befehl `audit` kannst du eine allgemeine Übersicht aller Projekte in einer Bamboo-Organisation abrufen.\n\nMit dem Befehl `audit` werden die folgenden Aktionen ausgeführt:\n\n1. Alle in einer Bamboo-Organisation definierten Projekte werden abgerufen.\n2. Konvertiert jede Pipeline in den entsprechenden GitHub Actions Workflow.\n3. Generiert einen Bericht, der zusammenfasst, inwieweit eine Migration mit GitHub Actions Importer vollständig und komplex möglich ist.\n\n### Ausführen des Überprüfungsbefehls\n\nZur Überprüfung einer Bamboo-Instanz führst du den folgenden Befehl im Terminal aus:\n\n```shell\ngh actions-importer audit bamboo --output-dir tmp/audit\n```\n\n### Untersuchen der Überprüfungsergebnisse\n\nDie Dateien im angegebenen Ausgabeverzeichnis enthalten die Ergebnisse der Überprüfung. Eine Zusammenfassung der Überprüfungsergebnisse findest du in der Datei `audit_summary.md`.\n\nDie Überprüfungszusammenfassung enthält die folgenden Abschnitte.\n\n#### Pipelines\n\nDer Abschnitt „Pipelines“ enthält allgemeine Statistiken zur von GitHub Actions Importer erzielten Conversion-Rate.\n\nIm Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Pipelines“ enthalten sein können:\n\n* **Erfolgreiche** Pipelines hatten 100 % ihrer Pipeline-Komponenten und einzelnen Elemente automatisch in das entsprechende GitHub Actions-Äquivalent konvertiert.\n* **Teilweise erfolgreich** waren Pipelines, bei denen alle Pipeline-Konstrukte konvertiert wurden; einige einzelne Elemente wurden jedoch nicht automatisch in ihr entsprechendes GitHub Actions-Äquivalent konvertiert.\n* **Nicht unterstützte** Pipelines sind Definitionstypen, die von GitHub Actions Importer nicht unterstützt werden.\n* Bei **fehlerhaften** Pipelines ist beim Konvertieren ein schwerwiegender Fehler aufgetreten. Dies kann aus drei Gründen auftreten:\n  * Die Pipeline war ursprünglich falsch konfiguriert und nicht gültig.\n  * GitHub Actions Importer Beim Konvertieren ist ein interner Fehler aufgetreten.\n  * 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.\n\n#### Buildschritte\n\nDer Abschnitt „Buildschritte“ bietet einen Überblick über einzelne Buildschritte, die in allen Pipelines verwendet werden, und darüber, wie viele von GitHub Actions Importer automatisch konvertiert wurden.\n\nIm Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Build-Schritte“ vorkommen können:\n\n* Ein **bekannter** Build-Schritt ist ein Schritt, der automatisch in eine äquivalente Aktion umgewandelt wurde.\n* Ein **unbekannter** Buildschritt ist ein Schritt, der nicht automatisch in eine entsprechende Aktion konvertiert wurde.\n* Ein **nicht unterstützter** Buildschritt ist ein Schritt, der entweder:\n  * Grundsätzlich nicht unterstützt von GitHub Actions.\n  * So konfiguriert, dass sie mit GitHub Actions nicht kompatibel ist.\n* Eine **Aktion** ist eine Liste der Aktionen, die in den konvertierten Workflows verwendet wurden. Dies kann für Folgendes wichtig sein:\n  * Wenn Sie GitHub Enterprise Server verwenden, wird die Liste der Aktionen zusammengestellt, die mit Ihrer Instanz synchronisiert werden sollen.\n  * Definieren einer Zulassungsliste 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.\n\n#### Manuelle Aufgaben\n\nDer Abschnitt \"Manuelle Aufgaben\" enthält eine Übersicht über Vorgänge, die GitHub Actions Importer nicht automatisch abgeschlossen werden können und dass Sie manuell ausführen müssen.\n\nIm Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Manuelle Aufgaben“ enthalten sein können:\n\n* Ein **Geheimnis** gilt auf Repository- oder Organisationsebene und wird in den konvertierten Pipelines verwendet. Diese Secrets müssen in GitHub Actions manuell erstellt werden, damit diese Pipelines korrekt funktionieren. Weitere Informationen finden Sie unter [Verwenden von Geheimnissen in GitHub-Aktionen](/de/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets).\n* Ein **selbstgehosteter Runner** bezeichnet ein Label eines Runners, auf den in einer konvertierten Pipeline verwiesen wird und der kein GitHub-hosteter Runner ist. Du musst diese Runner manuell definieren, damit diese Pipelines ordnungsgemäß funktionieren.\n\n#### Dateien\n\nDer letzte Abschnitt des Überprüfungsberichts enthält ein Manifest aller Dateien, die während der Überprüfung auf den Datenträger geschrieben wurden.\n\nJede Pipeline-Datei enthält verschiedene Dateien, die in das Audit einbezogen werden, darunter:\n\n* Die ursprüngliche Pipeline, wie sie in GitHub definiert wurde.\n* Alle Netzwerkantworten, die für die Umwandlung der Pipeline verwendet werden.\n* Die konvertierte Workflowdatei\n* Stapelablaufverfolgungen, die zur Problembehandlung bei einer fehlerhaften Pipelinekonvertierung verwendet werden können\n\nDarü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.\n\n## Vorhersagen der Nutzung\n\nSie können den Befehl `forecast` verwenden, um die potenzielle GitHub Actions-Nutzung vorherzusagen, indem Sie anhand abgeschlossener Pipeline-Ausführungen in Ihrer Bamboo-Instanz Metriken berechnen.\n\n### Ausführen des Vorhersagebefehls\n\nUm eine Prognose der potenziellen GitHub Actions Nutzung durchzuführen, führen Sie den folgenden Befehl in Ihrem Terminal aus. Standardmäßig enthält GitHub Actions Importer die vorherigen sieben Tage im Prognosebericht.\n\n```shell\ngh actions-importer forecast bamboo --output-dir tmp/forecast_reports\n```\n\n### Prognose eines Projekts\n\nUm die Prognose auf die mit einem Projekt verknüpften Pläne und Bereitstellungsumgebungen zu beschränken, kannst du die Option `--project` verwenden, für die der Wert auf einen Buildprojektschlüssel festgelegt ist.\n\nBeispiel:\n\n```shell\ngh actions-importer forecast bamboo --project PAN --output-dir tmp/forecast_reports\n```\n\n### Überprüfen des Prognoseberichts\n\nDie Datei `forecast_report.md` im angegebenen Ausgabeverzeichnis enthält die Ergebnisse der Vorhersage.\n\nIm Folgenden sind einige wichtige Begriffe aufgeführt, die im Vorhersagebericht enthalten sein können:\n\n* Die **Auftragsanzahl** ist die Gesamtanzahl der abgeschlossenen Aufträge.\n* Die **Pipelineanzahl** ist die Anzahl der verwendeten eindeutigen Pipelines.\n* Die **Ausführungszeit** ist die Zeit, die ein Runner für einen Auftrag aufgewendet hat. Diese Metrik kann verwendet werden, um die Kosten für GitHub-gehostete Runner zu planen.\n  * Diese Metrik steht im Zusammenhang mit den Ausgaben, die Sie in GitHub Actions erwarten sollten. Dies wird je nach der für diese Minuten verwendeten Hardware variieren. Sie können den [GitHub Actions Preisrechner](https://github.com/pricing/calculator) verwenden, um die Kosten zu schätzen.\n* Metriken zur **Warteschlangenzeit** beschreiben die Zeit, die ein Auftrag in der Warteschlange verbringt, bis ein Runner zur Ausführung verfügbar ist.\n* Metriken zu **gleichzeitigen Aufträgen** beschreiben die Anzahl der Aufträge, die zu einem bestimmten Zeitpunkt ausgeführt werden. Diese Metrik kann für Folgendes verwendet werden:\n\n## Ausführen einer Probelaufmigration einer Bamboo-Pipeline\n\nSie können den `dry-run` Befehl verwenden, um eine Bambuspipeline in einen entsprechenden GitHub Actions Workflow zu konvertieren. Bei einem Probelauf werden die Ausgabedateien in einem angegebenen Verzeichnis erstellt, jedoch wird kein Pull-Request zur Migration der Pipeline eröffnet.\n\n### Ausführen einer Probelaufmigration für einen Buildplan\n\nUm einen Testlauf für die Migration Ihres Bamboo-Build-Plans zu GitHub Actions durchzuführen, führen Sie den folgenden Befehl in Ihrem Terminal aus und ersetzen Sie `:my_plan_slug` durch den Projektschlüssel und den Planschlüssel im Format `<projectKey>-<planKey>` (zum Beispiel: `PAN-SCRIP`).\n\n```shell\ngh actions-importer dry-run bamboo build --plan-slug :my_plan_slug --output-dir tmp/dry-run\n```\n\n### Ausführen einer Probelaufmigration für ein Bereitstellungsprojekt\n\nUm einen Testlauf für die Migration Ihres Bamboo-Bereitstellungsprojekts nach GitHub Actions durchzuführen, führen Sie den folgenden Befehl in Ihrem Terminal aus und ersetzen Sie dabei `:my_deployment_project_id` durch die ID des Bereitstellungsprojekts, das Sie konvertieren.\n\n```shell\ngh actions-importer dry-run bamboo deployment --deployment-project-id :my_deployment_project_id --output-dir tmp/dry-run\n```\n\nSie können die Protokolle des Probelaufs und die konvertierten Workflowdateien im angegebenen Ausgabeverzeichnis überprüfen.\n\nWenn etwas vorhanden ist, das GitHub Actions Importer nicht automatisch konvertiert werden konnte, z. B. unbekannte Buildschritte oder eine teilweise erfolgreiche Pipeline, sollten Sie benutzerdefinierte Transformatoren erstellen, um den Konvertierungsprozess weiter anzupassen. Weitere Informationen finden Sie unter [Das Erweitern des GitHub Actions Importers mit benutzerdefinierten Transformatoren](/de/actions/reference/github-actions-importer/custom-transformers).\n\n## Ausführen einer Produktionsmigration einer Bamboo-Pipeline\n\nSie können den `migrate` Befehl verwenden, um eine Bambuspipeline zu konvertieren und eine Pullanforderung mit dem entsprechenden GitHub Actions Workflow zu öffnen.\n\n### Ausführen des Migrationsbefehls für einen Buildplan\n\nUm einen Bamboo-Build-Plan zu GitHub Actions migrieren, führen Sie den folgenden Befehl in Ihrem Terminal aus und ersetzen Sie den Wert `target-url` durch die URL Ihres GitHub-Repositorys und `:my_plan_slug` durch den Projekt- und Plan-Schlüssel des Plans im Format `<projectKey>-<planKey>`.\n\n```shell\ngh actions-importer migrate bamboo build --plan-slug :my_plan_slug --target-url :target_url --output-dir tmp/migrate\n```\n\nDie Ausgabe des Befehls enthält die URL zum Pull Request, der den konvertierten Workflow deinem Repository hinzufügt. Beispiel für eine erfolgreiche Ausgabe:\n\n```shell\n$ gh actions-importer migrate bamboo build --plan-slug :PROJECTKEY-PLANKEY --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate\n[2022-08-20 22:08:20] Logs: 'tmp/migrate/log/actions-importer-20220916-014033.log'\n[2022-08-20 22:08:20] Pull request: 'https://github.com/octo-org/octo-repo/pull/1'\n```\n\n### Ausführen des Migrationsbefehls für ein Bereitstellungsprojekt\n\nUm ein Bamboo-Bereitstellungsprojekt zu GitHub Actions zu migrieren, führen Sie den folgenden Befehl in Ihrem Terminal aus, wobei Sie den Wert `target-url` durch die URL Ihres GitHub-Repositorys und `:my_deployment_project_id` durch die ID des Bereitstellungsprojekts ersetzen, das Sie umwandeln.\n\n```shell\ngh actions-importer migrate bamboo deployment --deployment-project-id :my_deployment_project_id --target-url :target_url --output-dir tmp/migrate\n```\n\nDie Ausgabe des Befehls enthält die URL zum Pull Request, der den konvertierten Workflow deinem Repository hinzufügt. Beispiel für eine erfolgreiche Ausgabe:\n\n```shell\n$ gh actions-importer migrate bamboo deployment --deployment-project-id 123 --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate\n[2023-04-20 22:08:20] Logs: 'tmp/migrate/log/actions-importer-20230420-014033.log'\n[2023-04-20 22:08:20] Pull request: 'https://github.com/octo-org/octo-repo/pull/1'\n```\n\n### Überprüfen des Pull Requests\n\nDie 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.\n\nWichtige Elemente des Pull Requests:\n\n* 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.\n* Die konvertierte Workflowdatei Wähle im Pull Request die Registerkarte **Files changed** aus, um die Workflowdatei anzuzeigen, die deinem GitHub-Repository hinzugefügt wird.\n\nNachdem du den Pull Request überprüft hast, kannst du ihn zusammenführen, um den Workflow deinem GitHub-Repository hinzuzufügen.\n\n## Verweis\n\nDieser Abschnitt enthält Referenzinformationen zu Umgebungsvariablen, optionalen Argumenten und zur unterstützten Syntax bei der Verwendung von GitHub Actions Importer für die Migration von Bamboo.\n\n### Verwenden von Umgebungsvariablen\n\nGitHub 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](#configuring-credentials).\n\nGitHub Actions Importer verwendet die folgenden Umgebungsvariablen, um eine Verbindung mit Ihrer Bambus-Instanz herzustellen:\n\n* `GITHUB_ACCESS_TOKEN`: Die personal access token (classic) wird verwendet, um Pullanforderungen mit einem konvertierten Workflow zu erstellen (erfordert die Berechtigungen `repo` und `workflow`).\n* `GITHUB_INSTANCE_URL`: Die URL zur Zielinstanz GitHub (z. B `https://github.com`. ).\n* `BAMBOO_ACCESS_TOKEN`: Das Bamboo-personal access token, das zur Authentifizierung bei Ihrer Bamboo-Instanz verwendet wird.\n* `BAMBOO_INSTANCE_URL`: Die URL zur Bamboo-Instanz (Beispiel: `https://bamboo.example.com`).\n\nDiese Umgebungsvariablen können in einer `.env.local` Datei angegeben werden, die geladen wird, wenn GitHub Actions Importer ausgeführt wird.\n\n### Optionale Argumente\n\nEs gibt einige optionale Argumente, die du mit den Unterbefehlen von GitHub Actions Importer verwenden kannst, um deine Migration anzupassen.\n\n#### `--source-file-path`\n\nDu kannst das Argument `--source-file-path` mit den Unterbefehlen `dry-run` oder `migrate` verwenden.\n\nGitHub Actions Importer ruft standardmäßig Pipelineinhalte aus der Bamboo-Instanz ab. Das `--source-file-path` Argument weist GitHub Actions Importer stattdessen an, den angegebenen Quelldateipfad zu verwenden.\n\nBeispiel:\n\n```shell\ngh actions-importer dry-run bamboo build --plan-slug IN-COM -o tmp/bamboo --source-file-path ./path/to/my/bamboo/file.yml\n```\n\n#### `--config-file-path`\n\nDu kannst das `--config-file-path`-Argument mit den Unterbefehlen `audit`, `dry-run` und `migrate` verwenden.\n\nGitHub Actions Importer ruft standardmäßig Pipelineinhalte aus der Bamboo-Instanz ab. Das `--config-file-path` Argument weist GitHub Actions Importer stattdessen an, die angegebenen Quelldateien zu verwenden.\n\n##### Beispiel für Prüfung\n\nIn diesem Beispiel GitHub Actions Importer wird die angegebene YAML-Konfigurationsdatei verwendet, um ein Audit durchzuführen.\n\n```bash\ngh actions-importer audit bamboo -o tmp/bamboo --config-file-path \"./path/to/my/bamboo/config.yml\"\n```\n\nUm eine Bamboo-Instanz mithilfe einer Konfigurationsdatei zu überprüfen, muss die Konfigurationsdatei das folgende Format aufweisen, und jeder `repository_slug`-Wert muss eindeutig sein:\n\n```yaml\nsource_files:\n  - repository_slug: IN/COM\n    path: path/to/one/source/file.yml\n  - repository_slug: IN/JOB\n    path: path/to/another/source/file.yml\n```\n\n##### Beispiel für einen Probelauf\n\nIn diesem Beispiel wird GitHub Actions Importer die angegebene YAML-Konfigurationsdatei als Quelldatei verwendet, um einen Testlauf durchzuführen.\n\nDer Repository-Slug wird mithilfe der Option `--plan-slug` erstellt. Der Quelldateipfad wird mit der angegebenen Quelldatei abgestimmt und daraus abgerufen.\n\n```bash\ngh actions-importer dry-run bamboo build --plan-slug IN-COM -o tmp/bamboo --config-file-path \"./path/to/my/bamboo/config.yml\"\n```\n\n### Unterstützte Syntax für Bamboo-Pipelines\n\nDie folgende Tabelle zeigt die Art von Eigenschaften, die GitHub Actions Importer derzeit konvertieren kann.\n\n| Bamboo                              | GitHub-Aktionen                                 |                Status |\n| :---------------------------------- | :---------------------------------------------- | --------------------: |\n| `environments`                      | `jobs`                                          |           Unterstützt |\n| `environments.<environment_id>`     | `jobs.<job_id>`                                 |           Unterstützt |\n| `<job_id>.artifacts`                | `jobs.<job_id>.steps.actions/upload-artifact`   |           Unterstützt |\n| `<job_id>.artifact-subscriptions`   | `jobs.<job_id>.steps.actions/download-artifact` |           Unterstützt |\n| `<job_id>.docker`                   | `jobs.<job_id>.container`                       |           Unterstützt |\n| `<job_id>.final-tasks`              | `jobs.<job_id>.steps.if`                        |           Unterstützt |\n| `<job_id>.requirements`             | `jobs.<job_id>.runs-on`                         |           Unterstützt |\n| `<job_id>.tasks`                    | `jobs.<job_id>.steps`                           |           Unterstützt |\n| `<job_id>.variables`                | `jobs.<job_id>.env`                             |           Unterstützt |\n| `stages`                            | `jobs.<job_id>.needs`                           |           Unterstützt |\n| `stages.<stage_id>.final`           | `jobs.<job_id>.if`                              |           Unterstützt |\n| `stages.<stage_id>.jobs`            | `jobs`                                          |           Unterstützt |\n| `stages.<stage_id>.jobs.<job_id>`   | `jobs.<job_id>`                                 |           Unterstützt |\n| `stages.<stage_id>.manual`          | `jobs.<job_id>.environment`                     |           Unterstützt |\n| `triggers`                          | `on`                                            |           Unterstützt |\n| `dependencies`                      | `jobs.<job_id>.steps.<gh cli step>`             | Teilweise unterstützt |\n| `branches`                          | Nicht zutreffend                                |     Nicht unterstützt |\n| `deployment.deployment-permissions` | Nicht zutreffend                                |     Nicht unterstützt |\n| `environment-permissions`           | Nicht zutreffend                                |     Nicht unterstützt |\n| `notifications`                     | Nicht zutreffend                                |     Nicht unterstützt |\n| `plan-permissions`                  | Nicht zutreffend                                |     Nicht unterstützt |\n| `release-naming`                    | Nicht zutreffend                                |     Nicht unterstützt |\n| `repositories`                      | Nicht zutreffend                                |     Nicht unterstützt |\n\nWeitere Informationen zu unterstützten Bamboo-Konzepten und Plug-In-Zuordnungen findest du im [`github/gh-actions-importer`-Repository](https://github.com/github/gh-actions-importer/blob/main/docs/bamboo/index.md).\n\n### Zuordnung von Umgebungsvariablen\n\nGitHub Actions Importer verwendet die Zuordnung in der nachstehenden Tabelle, um standardmäßige Bamboo-Umgebungsvariablen in die nächstliegende Entsprechung in GitHub Actions umzuwandeln.\n\n| Bamboo                                           | GitHub-Aktionen                                                                       |\n| :----------------------------------------------- | :------------------------------------------------------------------------------------ |\n| `bamboo.agentId`                                 | `${{ github.runner_name }}`                                                           |\n| `bamboo.agentWorkingDirectory`                   | `${{ github.workspace }}`                                                             |\n| `bamboo.buildKey`                                | `${{ github.workflow }}-${{ github.job }}`                                            |\n| `bamboo.buildNumber`                             | `${{ github.run_id }}`                                                                |\n| `bamboo.buildPlanName`                           | `${{ github.repository }}-${{ github.workflow }}-${{ github.job }`                    |\n| `bamboo.buildResultKey`                          | `${{ github.workflow }}-${{ github.job }}-${{ github.run_id }}`                       |\n| `bamboo.buildResultsUrl`                         | `${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` |\n| `bamboo.build.working.directory`                 | `${{ github.workspace }}`                                                             |\n| `bamboo.deploy.project`                          | `${{ github.repository }}`                                                            |\n| `bamboo.ManualBuildTriggerReason.userName`       | `${{ github.actor }}`                                                                 |\n| `bamboo.planKey`                                 | `${{ github.workflow }}`                                                              |\n| `bamboo.planName`                                | `${{ github.repository }}-${{ github.workflow }}`                                     |\n| `bamboo.planRepository.branchDisplayName`        | `${{ github.ref }}`                                                                   |\n| `bamboo.planRepository.<position>.branch`        | `${{ github.ref }}`                                                                   |\n| `bamboo.planRepository.<position>.branchName`    | `${{ github.ref }}`                                                                   |\n| `bamboo.planRepository.<position>.name`          | `${{ github.repository }}`                                                            |\n| `bamboo.planRepository.<position>.repositoryUrl` | `${{ github.server }}/${{ github.repository }}`                                       |\n| `bamboo.planRepository.<position>.revision`      | `${{ github.sha }}`                                                                   |\n| `bamboo.planRepository.<position>.username`      | `${{ github.actor}}`                                                                  |\n| `bamboo.repository.branch.name`                  | `${{ github.ref }}`                                                                   |\n| `bamboo.repository.git.branch`                   | `${{ github.ref }}`                                                                   |\n| `bamboo.repository.git.repositoryUrl`            | `${{ github.server }}/${{ github.repository }}`                                       |\n| `bamboo.repository.pr.key`                       | `${{ github.event.pull_request.number }}`                                             |\n| `bamboo.repository.pr.sourceBranch`              | `${{ github.event.pull_request.head.ref }}`                                           |\n| `bamboo.repository.pr.targetBranch`              | `${{ github.event.pull_request.base.ref }}`                                           |\n| `bamboo.resultsUrl`                              | `${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}` |\n| `bamboo.shortJobKey`                             | `${{ github.job }}`                                                                   |\n| `bamboo.shortJobName`                            | `${{ github.job }}`                                                                   |\n| `bamboo.shortPlanKey`                            | `${{ github.workflow }}`                                                              |\n| `bamboo.shortPlanName`                           | `${{ github.workflow }}`                                                              |\n\n> \\[!NOTE]\n> Unbekannte Variablen werden zu `${{ env.<variableName> }}` umgewandelt und müssen für den ordnungsgemäßen Betrieb unter `env` ersetzt oder hinzugefügt werden. Beispiel: `${bamboo.jira.baseUrl}` wird .`${{ env.jira_baseUrl }}`\n\n### Systemvariablen\n\nSystemvariablen, 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.\n\n## Rechtliche Hinweise\n\nTeile wurden von <https://github.com/github/gh-actions-importer/> unter der MIT-Lizenz übernommen:\n\n```text\nMIT License\n\nCopyright (c) 2022 GitHub\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```"}