Skip to main content

Zusätzliche Argumente und Einstellungen

GitHub Actions Importer verfügt über mehrere zusätzliche Argumente und Einstellungen, mit denen du den Migrationsprozess an deine Anforderungen anpassen kannst.

Rechtliche Hinweise

Dieser Artikel enthält allgemeine Informationen zum Konfigurieren der zusätzlichen Argumente und Einstellungen von GitHub Actions Importer, z. B. optionale Parameter, Pfadargumente und Netzwerkeinstellungen.

Optionale Parameter

GitHub Actions Importer verfügt über mehrere optionale Parameter, mit denen du den Migrationsprozess anpassen kannst.

Einschränken zulässiger Aktionen

Die folgenden Optionen können verwendet werden, um die in konvertierten Workflows zulässigen Aktionen zu begrenzen. In Kombination können diese Optionen die Liste der zulässigen Aktionen erweitern. Wenn keine dieser Optionen angegeben wird, sind alle Aktionen zulässig.

  • --allowed-actions gibt eine Liste von Aktionen an, die in konvertierten Workflows zugelassen werden sollen. Platzhalter werden unterstützt. Es werden nur die bereitgestellten Aktionen zugelassen.

    Beispiel:

    --allowed-actions actions/checkout@v4 actions/upload-artifact@* my-org/*
    

    Du kannst eine leere Liste bereitstellen, um keine Aktionen zuzulassen. Beispiel: --allowed-actions=.

  • --allow-verified-actions gibt an, dass alle Aktionen von verifizierten Erstellern zulässig sind.

  • --allow-github-created-actions gibt an, dass von der github- oder actions-Organisation veröffentlichte Aktionen zulässig sind.

    Solche Aktionen umfassen z. B. github/super-linter und actions/checkout.

    Diese Option entspricht --allowed-actions actions/* github/*.

Verwenden einer Anmeldeinformationsdatei für die Authentifizierung

Der Parameter --credentials-file gibt den Pfad zu einer Datei mit Anmeldeinformationen für verschiedene Server an, bei denen sich GitHub Actions Importer authentifizieren kann. Dies ist nützlich, wenn Buildskripts (z. B. .travis.yml oder jenkinsfile) in mehreren GitHub Enterprise Server-Instanzen gespeichert werden.

Eine Anmeldeinformationsdatei muss eine YAML-Datei sein, die eine Liste von Server- und Zugriffstokenkombinationen enthält. GitHub Actions Importer verwendet die Anmeldeinformationen für die URL, die der Netzwerkanforderung am ehesten entspricht.

Beispiel:

- url: https://github.com
  access_token: ghp_mygeneraltoken
- url: https://github.com/specific_org/
  access_token: ghp_myorgspecifictoken
- url: https://jenkins.org
  access_token: abc123
  username: marty_mcfly

Für die obige Anmeldeinformationsdatei verwendet GitHub Actions Importer das Zugriffstoken ghp_mygeneraltoken, um alle Netzwerkanforderungen bei https://github.com zu authentifizieren, es sei denn, die Netzwerkanforderung gilt für ein Repository in der Organisation specific_org. In diesem Fall wird stattdessen das Token ghp_myorgspecifictoken zur Authentifizierung verwendet.

Alternative Quellcodeanbieter

GitHub Actions Importer kann automatisch Quellcode aus Nicht-GitHub-Repositorys abrufen. Eine Anmeldeinformationsdatei kann den provider, die Anbieter-URL und die Anmeldeinformationen angeben, die zum Abrufen des Quellcodes erforderlich sind.

Beispiel:

- url: https://gitlab.com
  access_token: super_secret_token
  provider: gitlab

Im obigen Beispiel verwendet GitHub Actions Importer das Token super_secret_token zum Abrufen von Quellcode, der auf https://gitlab.com gehostet wird.

Unterstützte Werte für provider lauten:

  • github (Standard)
  • gitlab
  • bitbucket_server
  • azure_devops

Steuern optionaler Features

Anhand der Option --features kannst du die Features einschränken, die in den von GitHub Actions Importer erstellten Workflows verwendet werden. Dies ist nützlich, um die neuere GitHub Actions-Syntax bei der Migration zu einer älteren GitHub Enterprise Server-Instanz aus den Workflows auszuschließen. Wenn du die Option --features verwendest, musst du die Version von GitHub Enterprise Server angeben, zu der migriert wird.

Beispiel:

gh actions-importer dry-run ... --features ghes-3.3

Folgende Werte werden für --features unterstützt:

  • all (Standardwert)
  • ghes-latest
  • ghes-<number>, wobei <number> der Version von GitHub Enterprise Server entspricht, 3.0 oder höher. Beispiel: ghes-3.3.

Du kannst die Liste der verfügbaren Featureflags nach GitHub Actions Importer anzeigen, indem du den Befehl list-features ausführst. Beispiel:

Shell
gh actions-importer list-features

Es sollte in etwa folgende Ausgabe angezeigt werden:

Available feature flags:

actions/cache (disabled):
        Control usage of actions/cache inside of workflows. Outputs a comment if not enabled.
        GitHub Enterprise Server >= ghes-3.5 required.

composite-actions (enabled):
        Minimizes resulting workflow complexity through the use of composite actions. See https://docs.github.com/en/actions/creating-actions/creating-a-composite-action for more information.
        GitHub Enterprise Server >= ghes-3.4 required.

reusable-workflows (disabled):
        Avoid duplication by re-using existing workflows. See https://docs.github.com/en/actions/using-workflows/reusing-workflows for more information.
        GitHub Enterprise Server >= ghes-3.4 required.

workflow-concurrency-option-allowed (enabled):
        Allows the use of the `concurrency` option in workflows. See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency for more information.
        GitHub Enterprise Server >= ghes-3.2 required.

Enable features by passing --enable-features feature-1 feature-2
Disable features by passing --disable-features feature-1 feature-2

Um Featureflags umzuschalten, kannst du eine der folgenden Methoden verwenden:

  • Verwende die Optionen --enable-features und --disable-features, wenn du den Befehl gh actions-importer ausführst.
  • Verwende eine Umgebungsvariable für jedes Featureflag.

Du kannst die Optionen --enable-features und --disable-features verwenden, um bestimmte Features auszuwählen, die für die Dauer des Befehls aktiviert oder deaktiviert werden sollen. Mit dem folgenden Befehl wird beispielsweise die Verwendung von actions/cache und composite-actions deaktiviert:

gh actions-importer dry-run ... --disable-features=composite-actions actions/cache

Du kannst den Befehl configure --features verwenden, um Featureflags interaktiv zu konfigurieren und automatisch in deine Umgebung zu schreiben:

$ gh actions-importer configure --features

✔ Which features would you like to configure?: actions/cache, reusable-workflows
✔ actions/cache (disabled): Enable
? reusable-workflows (disabled):
› Enable
  Disable

Deaktivieren des Zwischenspeicherns von Netzwerkantworten

Standardmäßig speichert GitHub Actions Importer Antworten aus Netzwerkanforderungen zwischen, um die Netzwerklast zu verringern und die Laufzeit zu verkürzen. Du kannst die Option --no-http-cache verwenden, um den Netzwerkcache zu deaktivieren. Beispiel:

gh actions-importer forecast ... --no-http-cache

Pfadargumente

Beim Ausführen von GitHub Actions Importer sind Pfadargumente relativ zum Datenträger des Containers. Absolute Pfade relativ zum Hostcomputer des Containers werden nicht unterstützt. Bei der Ausführung von GitHub Actions Importer wird das Verzeichnis des /data-Containers in das Verzeichnis eingebunden, in dem GitHub Actions Importer ausgeführt wird.

Ein Beispiel: Wenn der folgende Befehl im Verzeichnis /Users/mona verwendet wird, gibt er die GitHub Actions Importer-Überwachungszusammenfassung an das Verzeichnis /Users/mona/out aus:

gh actions-importer audit --output-dir /data/out

Verwenden eines Proxys

Um auf Server zuzugreifen, die mit einem HTTP-Proxy konfiguriert sind, musst du die folgenden Umgebungsvariablen mit der URL des Proxys festlegen:

  • OCTOKIT_PROXY: für alle GitHub-Server.
  • HTTP_PROXY (oder HTTPS_PROXY): für alle anderen Server.

Beispiel:

export OCTOKIT_PROXY=https://proxy.example.com:8443
export HTTPS_PROXY=$OCTOKIT_PROXY

Wenn der Proxy eine Authentifizierung erfordert, müssen ein Benutzername und ein Kennwort in der Proxy-URL enthalten sein. Beispiel: https://username:[email protected]:port.

Deaktivieren der SSL-Zertifikatüberprüfung

Standardmäßig werden SSL-Zertifikate beim Senden von Netzwerkanforderungen von GitHub Actions Importer überprüft. Du kannst die SSL-Zertifikatüberprüfung mit der Option --no-ssl-verify deaktivieren. Beispiel:

gh actions-importer audit --output-dir ./output --no-ssl-verify

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.