{"meta":{"title":"Migrieren von CircleCI mit GitHub Actions Importer","intro":"Erfahren Sie, wie Sie GitHub Actions Importer verwenden, um die Migration Ihrer CircleCI-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/circleci-migration","title":"CircleCI-Migration"}],"documentType":"article"},"body":"# Migrieren von CircleCI mit GitHub Actions Importer\n\nErfahren Sie, wie Sie GitHub Actions Importer verwenden, um die Migration Ihrer CircleCI-Pipelines zu GitHub Actions zu automatisieren.\n\n## Informationen zum Migrieren von CircleCI mit GitHub Actions Importer\n\nDie folgenden Anweisungen führen Sie durch die Konfiguration Ihrer Umgebung, um GitHub Actions Importer zur Migration von CircleCI-Pipelines zu GitHub Actions zu verwenden.\n\n### Voraussetzungen\n\n* Ein CircleCI-Konto oder eine Organisation mit Projekten und Pipelines, die Sie in GitHub Actions Workflows konvertieren möchten.\n* Zugriffsberechtigungen für das Erstellen eines persönlichen CircleCI-API-Tokens für dein Konto oder deine 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 beim Migrieren von CircleCI zu GitHub Actions mit GitHub Actions Importer:\n\n* Die automatische Zwischenspeicherung zwischen Aufträgen verschiedener Workflows wird nicht unterstützt.\n* Der Befehl `audit` wird nur unterstützt, wenn Sie ein CircleCI-Organisationskonto verwenden. Die Befehle `dry-run` und `migrate` können mit einem CircleCI-Organisations- oder Benutzerkonto verwendet werden.\n\n#### Manuelle Aufgaben\n\nBestimmte CircleCI-Konstrukte müssen manuell migriert werden. Dazu gehören:\n\n* Kontexte\n* Umgebungsvariablen auf Projektebene\n* Unbekannte Auftragseigenschaften\n* Unbekannte Orbs\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 die Arbeit mit GitHub Actions Importer, CircleCI 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 die Bereiche `repo` und `workflow` haben.\n\n   Kopiere das Token nach dem Erstellen zur späteren Verwendung an einen sicheren Speicherort.\n\n2. Erstelle ein persönliches CircleCI-API-Token. Weitere Informationen findest du unter [Verwalten von API-Token](https://circleci.com/docs/managing-api-tokens/#creating-a-personal-api-token) in der CircleCI-Dokumentation.\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 `CircleCI` 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 for CircleCI\" den Wert für das persönliche CircleCI-API-Token ein, das Sie zuvor erstellt haben, und drücken Sie <kbd>die EINGABETASTE</kbd>.\n   * Drücke bei „Basis-URL der CircleCI-Instanz“ die <kbd>EINGABETASTE</kbd>, um den Standardwert (`https://circleci.com`) zu akzeptieren.\n   * Gib als „Name der CircleCI-Organisation“ den Namen für deine CircleCI-Organisation 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?: CircleCI\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 CircleCI: ********************\n   ✔ Base url of the CircleCI instance: https://circleci.com\n   ✔ CircleCI organization name: mycircleciorganization\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## Durchführen einer Prüfung von CircleCI\n\nMit dem Befehl `audit` rufst du allgemeine Informationen zu allen Projekte in einer CircleCI-Organisation ab.\n\nMit dem Befehl `audit` werden die folgenden Aktionen ausgeführt:\n\n1. Abrufen aller in einer CircleCI-Organisation definierten Projekte\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\nFühre den folgenden Befehl am Terminal aus, um eine CircleCI-Organisation zu überprüfen:\n\n```shell\ngh actions-importer audit circle-ci --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 eine allgemeine Statistik zur Konvertierungsrate durch den GitHub Actions Importer.\n\nIm Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Pipelines“ enthalten sein können:\n\n* Bei **erfolgreichen** Pipelines wurden 100 % der Pipelinekonstrukte und Einzelelemente automatisch in ihre GitHub Actions-Entsprechung konvertiert.\n* Bei **teilweise erfolgreichen** Pipelines wurden zwar alle Pipelinekonstrukte, aber nicht alle Einzelelemente automatisch in ihre GitHub Actions-Entsprechung konvertiert.\n* **Nicht unterstützte** Pipelines sind Definitionstypen, die vom 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  * Der GitHub Actions Importer hat beim Konvertieren ein interner Fehler festgestellt.\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“ 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.\n\nIm Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Buildschritte“ enthalten sein können:\n\n* Ein **bekannter** Buildschritt ist ein Schritt, der automatisch in eine entsprechende Aktion konvertiert 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, für den eine der folgenden Aussagen zutrifft:\n  * Er wird grundsätzlich von GitHub Actions nicht unterstützt.\n  * Seine Konfiguration ist mit GitHub Actions nicht kompatibel.\n* Eine **Aktion** ist eine Liste der Aktionen, die in den konvertierten Workflows verwendet wurden. Dies kann für Folgendes wichtig sein:\n  * Zum Sammeln der Liste der Aktionen, die mit deiner Instanz synchronisiert werden sollen, sofern du GitHub Enterprise Server verwendest\n  * 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.\n\n#### Manuelle Aufgaben\n\nDer 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.\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 Geheimnisse müssen manuell in GitHub Actions erstellt werden, damit diese Pipelines ordnungsgemäß funktionieren. Weitere Informationen finden Sie unter [Verwenden von Geheimnissen in GitHub-Aktionen](/de/actions/security-guides/using-secrets-in-github-actions).\n* **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.\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\nFür jede Pipelinedatei werden verschiedene Dateien überprüft, z. B.:\n\n* Die ursprüngliche Pipeline, wie in GitHub definiert\n* Alle Netzwerkantworten, die zum Konvertieren 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## Prognose des Potenzials der GitHub Actions-Nutzung\n\nSie können den `forecast` Befehl verwenden, um die potenzielle GitHub Actions Nutzung zu prognostizieren, indem Sie Metriken aus abgeschlossenen Pipeline-Läufen in CircleCI 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 circle-ci --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\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. Mithilfe dieser Metrik kann die Anzahl von Runnern definiert werden, die du konfigurieren solltest.\n\nDarüber hinaus werden diese Metriken für jede Queue der Runner in CircleCI definiert. Dies ist besonders nützlich, wenn es eine Mischung aus gehosteten oder selbstgehosteten Runnern oder Computern mit hoher oder niedriger Leistung gibt, da du spezifische Metriken für verschiedene Runnertypen anzeigen kannst.\n\n## Durchführen einer Probelaufmigration einer CircleCI-Pipeline\n\nSie können den `dry-run` Befehl verwenden, um eine CircleCI-Pipeline 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\nUm einen Testlauf der Migration Ihres CircleCI-Projekts zu GitHub Actions durchzuführen, führen Sie den folgenden Befehl in Ihrem Terminal aus, indem Sie `my-circle-ci-project` durch den Namen Ihres CircleCI-Projekts ersetzen.\n\n```shell\ngh actions-importer dry-run circle-ci --output-dir tmp/dry-run --circle-ci-project my-circle-ci-project\n```\n\nSie können die Protokolle des Probelaufs und die konvertierten Workflowdateien im angegebenen Ausgabeverzeichnis überprüfen.\n\nWenn 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 finden Sie unter [Das Erweitern des GitHub Actions Importers mit benutzerdefinierten Transformatoren](/de/actions/migrating-to-github-actions/automated-migrations/extending-github-actions-importer-with-custom-transformers).\n\n## Durchführen einer Produktionsmigration einer CircleCI-Pipeline\n\nSie können den `migrate` Befehl verwenden, um eine CircleCI-Pipeline zu konvertieren und eine Pullanforderung mit dem entsprechenden GitHub Actions Workflow zu öffnen.\n\n### Ausführen des Migrationsbefehls\n\nUm eine CircleCI-Pipeline zu GitHub Actionsmigrieren, führen Sie den folgenden Befehl in Ihrem Terminal aus, ersetzen Sie den `target-url` Wert durch die URL für Ihr GitHub Repository und `my-circle-ci-project` mit dem Namen Ihres CircleCI-Projekts.\n\n```shell\ngh actions-importer migrate circle-ci --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate --circle-ci-project my-circle-ci-project\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 circle-ci --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate --circle-ci-project my-circle-ci-project\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### Ü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 der unterstützten Syntax bei der Nutzung von GitHub Actions Importer zur Migration von CircleCI.\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\n```\n          GitHub Actions Importer verwendet die folgenden Umgebungsvariablen, um eine Verbindung mit Ihrer CircleCI-Instanz herzustellen:\n```\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* `CIRCLE_CI_ACCESS_TOKEN`: Das persönliche CircleCI-API-Token für die Authentifizierung bei deiner CircleCI-Instanz\n* `CIRCLE_CI_INSTANCE_URL`: Die URL der CircleCI-Instanz (z. B. `https://circleci.com`). Wenn diese Variable nicht festgelegt wurde, wird als Standardwert `https://circleci.com` verwendet.\n* `CIRCLE_CI_ORGANIZATION`: Der Organisationsname deiner CircleCI-Instanz\n* `CIRCLE_CI_PROVIDER`: Der Speicherort der Quelldatei deiner Pipeline (z. B. `github`). Derzeit wird nur GitHub unterstützt.\n* `CIRCLE_CI_SOURCE_GITHUB_ACCESS_TOKEN` (Optional): Die personal access token (classic) zum Authentifizieren mit Ihrer Quellinstanz GitHub verwendete Instanz (erfordert `repo` Bereich). Wenn keine Angabe erfolgt, wird stattdessen der Wert von `GITHUB_ACCESS_TOKEN` verwendet.\n* `CIRCLE_CI_SOURCE_GITHUB_INSTANCE_URL` (Optional): Die URL zur Quellinstanz GitHub . Wenn keine Angabe erfolgt, wird stattdessen der Wert von `GITHUB_INSTANCE_URL` verwendet.\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 `--source-file-path`-Argument mit den Unterbefehlen `forecast`, `dry-run` oder `migrate` verwenden.\n\nRuft standardmäßig GitHub Actions Importer Pipelineinhalte aus der Quellcodeverwaltung 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 circle-ci --output-dir ./output/ --source-file-path ./path/to/.circleci/config.yml\n```\n\nWenn du beim Ausführen des Unterbefehls `forecast` mehrere Quelldateien angeben möchtest, kannst du einen Musterabgleich im Dateipfadwert verwenden. Beispielsweise liefert `gh forecast --source-file-path ./tmp/previous_forecast/jobs/*.json`GitHub Actions Importer alle Quelldateien, die mit dem `./tmp/previous_forecast/jobs/*.json` Dateipfad übereinstimmen.\n\n#### `--config-file-path`\n\nDu kannst das `--config-file-path`-Argument mit den Unterbefehlen `audit`, `dry-run` und `migrate` verwenden.\n\nRuft standardmäßig GitHub Actions Importer Pipelineinhalte aus der Quellcodeverwaltung ab. Das `--config-file-path` Argument weist GitHub Actions Importer stattdessen an, die angegebenen Quelldateien zu verwenden.\n\nDas `--config-file-path`-Argument kann auch verwendet werden, um anzugeben, zu welchem Repository eine konvertierte zusammengesetzte Aktion migriert werden soll.\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 circle-ci --output-dir ./output/ --config-file-path ./path/to/circle-ci/config.yml\n```\n\nUm eine CircleCI-Instanz mithilfe einer Konfigurationsdatei zu überprüfen, muss die Konfigurationsdatei das folgende Format aufweisen, und jedes `repository_slug` muss eindeutig sein:\n\n```yaml\nsource_files:\n  - repository_slug: circle-org-name/circle-project-name\n    path: path/to/.circleci/config.yml\n  - repository_slug: circle-org-name/some-other-circle-project-name\n    path: path/to/.circleci/config.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\nDie Auswahl der Pipeline erfolgt durch einen Abgleich des `repository_slug` in der Konfigurationsdatei mit dem Wert der Optionen `--circle-ci-organization` und `--circle-ci-project`. Der `path` wird dann verwendet, um die angegebene Quelldatei zu pullen.\n\n```bash\ngh actions-importer dry-run circle-ci --circle-ci-project circle-org-name/circle-project-name --output-dir ./output/ --config-file-path ./path/to/circle-ci/config.yml\n```\n\n##### Angeben des Repositorys konvertierter zusammengesetzter Aktionen\n\n```\n          GitHub Actions Importer verwendet die für das `--config-file-path` Argument bereitgestellte YAML-Datei, um das Repository zu bestimmen, in das konvertierte zusammengesetzte Aktionen migriert werden.\n```\n\nZunächst solltest du eine Überwachung ohne das `--config-file-path`-Argument ausführen:\n\n```bash\ngh actions-importer audit circle-ci --output-dir ./output/\n```\n\nDie Ausgabe dieses Befehls enthält eine Datei mit dem Namen `config.yml`, die eine Liste aller zusammengesetzten Aktionen enthält, die von GitHub Actions Importer konvertiert wurden. Die `config.yml`-Datei kann beispielsweise den folgenden Inhalt aufweisen:\n\n```yaml\ncomposite_actions:\n  - name: my-composite-action.yml\n    target_url: https://github.com/octo-org/octo-repo\n    ref: main\n```\n\nDu kannst mit dieser Datei festlegen, welchem Repository und welcher Referenz ein wiederverwendbarer Workflow oder ein zusammengesetzter Vorgang hinzugefügt werden soll. Anschließend können Sie das `--config-file-path` Argument verwenden, um die `config.yml` Datei in GitHub Actions Importer anzugeben. Beispielsweise kannst du diese Datei verwenden, wenn du einen `migrate`-Befehl ausführst, um einen Pull Request für jedes eindeutige Repository zu öffnen, das in der Konfigurationsdatei definiert ist:\n\n```bash\ngh actions-importer migrate circle-ci --circle-ci-project my-project-name --output-dir output/ --config-file-path config.yml --target-url https://github.com/my-org/my-repo\n```\n\n#### `--include-from`\n\nDu kannst das `--include-from`-Argument mit dem Unterbefehl `audit` verwenden.\n\nDas `--include-from`-Argument gibt eine Datei an, die eine durch Zeilentrennzeichen getrennte Liste von Repositorys enthält, die in die Überprüfung einer CircleCI-Organisation einbezogen werden sollen. Repositorys, die nicht in der Datei enthalten sind, werden von der Überprüfung ausgeschlossen.\n\nBeispiel:\n\n```bash\ngh actions-importer audit circle-ci --output-dir ./output/ --include-from repositories.txt\n```\n\nDie für diesen Parameter bereitgestellte Datei muss eine durch Zeilentrennzeichen getrennte Liste von Repositorys sein, z. B.:\n\n```text\nrepository_one\nrepository_two\nrepository_three\n```\n\n### Unterstützte Syntax für CircleCI-Pipelines\n\nDie folgende Tabelle zeigt die Art von Eigenschaften, die GitHub Actions Importer derzeit konvertieren kann.\n\n| CircleCI-Pipelines | GitHub-Aktionen                                                                       | Status                |\n| :----------------- | :------------------------------------------------------------------------------------ | :-------------------- |\n| Cron-Trigger       | <ul><li>`on.schedule`</li></ul>                                                       | Unterstützt           |\n| Umgebung           | <ul><li>`env`</li><li>`jobs.<job_id>.env`</li><li>`jobs.<job_id>.steps.env`</li></ul> | Unterstützt           |\n| executors          | <ul><li>`runs-on`</li></ul>                                                           | Unterstützt           |\n| Stellen            | <ul><li>`jobs`</li></ul>                                                              | Unterstützt           |\n| Auftrag            | <ul><li>`jobs.<job_id>`</li><li>`jobs.<job_id>.name`</li></ul>                        | Unterstützt           |\n| Matrix             | <ul><li>`jobs.<job_id>.strategy`</li><li>`jobs.<job_id>.strategy.matrix`</li></ul>    | Unterstützt           |\n| parameters         | <ul><li>`env`</li><li>`workflow-dispatch.inputs`</li></ul>                            | Unterstützt           |\n| Schritte           | <ul><li>`jobs.<job_id>.steps`</li></ul>                                               | Unterstützt           |\n| wenn, es sei denn, | <ul><li>`jobs.<job_id>.if`</li></ul>                                                  | Unterstützt           |\n| Auslöser           | <ul><li>`on`</li></ul>                                                                | Unterstützt           |\n| executors          | <ul><li>`container`</li><li>`services`</li></ul>                                      | Teilweise unterstützt |\n| Orbs               | <ul><li>`actions`</li></ul>                                                           | Teilweise unterstützt |\n| executors          | <ul><li>`self hosted runners`</li></ul>                                               | Nicht unterstützt     |\n| Einrichtung        | Nicht anwendbar                                                                       | Nicht unterstützt     |\n| version            | Nicht anwendbar                                                                       | Nicht unterstützt     |\n\nWeitere Informationen zu unterstützten CircleCI-Konzepten und Orb-Zuordnungen findest du im [`github/gh-actions-importer`-Repository](https://github.com/github/gh-actions-importer/blob/main/docs/circle_ci/index.md).\n\n### Zuordnung von Umgebungsvariablen\n\n```\n          GitHub Actions Importer verwendet die Zuordnung in der folgenden Tabelle, um die standardmäßigen CircleCI-Umgebungsvariablen in das am besten geeignete Äquivalent in GitHub Actions zu konvertieren.\n```\n\n| CircleCI                           | GitHub-Aktionen                             |\n| :--------------------------------- | :------------------------------------------ |\n| `CI`                               | `$CI`                                       |\n| `CIRCLE_BRANCH`                    | `${{ github.ref }}`                         |\n| `CIRCLE_JOB`                       | `${{ github.job }}`                         |\n| `CIRCLE_PR_NUMBER`                 | `${{ github.event.number }}`                |\n| `CIRCLE_PR_REPONAME`               | `${{ github.repository }}`                  |\n| `CIRCLE_PROJECT_REPONAME`          | `${{ github.repository }}`                  |\n| `CIRCLE_SHA1`                      | `${{ github.sha }}`                         |\n| `CIRCLE_TAG`                       | `${{ github.ref }}`                         |\n| `CIRCLE_USERNAME`                  | `${{ github.actor }}`                       |\n| `CIRCLE_WORKFLOW_ID`               | `${{ github.run_number }}`                  |\n| `CIRCLE_WORKING_DIRECTORY`         | `${{ github.workspace }}`                   |\n| `<< pipeline.id >>`                | `${{ github.workflow }}`                    |\n| `<< pipeline.number >>`            | `${{ github.run_number }}`                  |\n| `<< pipeline.project.git_url >>`   | `$GITHUB_SERVER_URL/$GITHUB_REPOSITORY`     |\n| `<< pipeline.project.type >>`      | `github`                                    |\n| `<< pipeline.git.tag >>`           | `${{ github.ref }}`                         |\n| `<< pipeline.git.branch >>`        | `${{ github.ref }}`                         |\n| `<< pipeline.git.revision >>`      | `${{ github.event.pull_request.head.sha }}` |\n| `<< pipeline.git.base_revision >>` | `${{ github.event.pull_request.base.sha }}` |\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```"}