Skip to main content

Enterprise Server 3.22 ist derzeit als Release Candidate verfügbar.

Migrieren von Jenkins mit GitHub Actions Importer

Erfahren Sie, wie GitHub Actions Importer Sie die Migration Ihrer Jenkins-Pipelines automatisieren.GitHub Actions

Informationen zur Migration von Jenkins mit GitHub Actions Importer

Die folgenden Anweisungen führen Sie durch die Konfiguration Ihrer Umgebung für die GitHub Actions Importer Migration von Jenkins-Pipelines zu GitHub Actions.

Voraussetzungen

  • Ein Jenkins-Konto oder eine Organisation mit Pipelines und Aufträgen, die Sie in GitHub Actions Workflows konvertieren möchten.
  • Zugriffsberechtigungen für das Erstellen eines persönlichen Jenkins-API-Tokens für dein Konto oder deine Organisation
  • 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.

Einschränkungen

Es gibt einige Einschränkungen beim Migrieren von Jenkins zu GitHub ActionsGitHub Actions Importer. Beispielsweise musst du die folgenden Konstrukte manuell migrieren:

  • Obligatorische Build-Tools
  • Skriptpipelines
  • Geheimnisse
  • Selbstgehosteten Runnern
  • Unbekannte Plug-Ins

Weitere Informationen zu manuellen Migrationen findest du unter Migrieren von Jenkins zu GitHub Actions.

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

Der configure CLI-Befehl wird verwendet, um erforderliche Anmeldeinformationen und Optionen für GitHub Actions Importer die Arbeit mit Jenkins und GitHub.

  1. Erstellen Sie eine GitHubpersonal access token (classic). Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.

    Ihr Token muss den workflow Bereich haben.

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

  2. Erstelle ein Jenkins-API-Token. Weitere Informationen findest du unter Authentifizieren von Skriptclients in der Jenkins-Dokumentation.

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

  3. Führen Sie in Ihrem Terminal den CLI-Befehl GitHub Actions Importerconfigure aus.

    gh actions-importer configure
    

    Sie werden vom Befehl configure zur Eingabe folgender Informationen aufgefordert:

    • Für "Welche CI-Anbieter konfigurieren Sie?", verwenden Sie die Pfeiltasten, um Jenkins zu wählen, drücken Sie die Leertaste, um es auszuwählen, und drücken Sie dann Enter.
    • Geben Sie für "Personal access token für GitHub" den zuvor erstellten Wert von personal access token (classic) ein und drücken Sie die EINGABETASTE.
    • Geben Sie für "Basis-URL der GitHub-Instanz" die URL deine GitHub Enterprise Server-Instanz ein, und drücken Sie die EINGABETASTE.
    • Geben Sie für "Personal access token für Jenkins" den Wert für das persönliche API-Token von Jenkins ein, das Sie zuvor erstellt haben, und drücken Sie die EINGABETASTE.
    • Gib unter „Benutzername des Jenkins-Benutzers“ deinen Jenkins-Benutzernamen ein, und drücke die EINGABETASTE.
    • Gib als „Basis-URL der Jenkins-Instanz“ die URL deiner Jenkins-Instanz ein, und drücke die EINGABETASTE.

    Ein Beispiel für den Befehl configure:

    $ gh actions-importer configure
    ✔ Which CI providers are you configuring?: Jenkins
    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 Jenkins: ***************
    ✔ Username of Jenkins user: admin
    ✔ Base url of the Jenkins instance: https://localhost
    Environment variables successfully updated.
    
  4. Führen Sie in Ihrem Terminal den GitHub Actions Importerupdate CLI-Befehl aus, um eine Verbindung herzustellen GitHub PackagesContainer registry und sicherzustellen, dass das Containerimage auf die neueste Version aktualisiert wird:

    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
    

Audit von Jenkins durchführen

Mit dem Befehl audit kannst du eine allgemeine Ansicht aller Pipelines auf einem Jenkins-Server abrufen.

Mit dem Befehl audit werden die folgenden Aktionen ausgeführt:

  1. Abrufen aller auf einem Jenkins-Server definierten Projekte
  2. Konvertiert jede Pipeline in den entsprechenden GitHub Actions Workflow.
  3. Generiert einen Bericht, der zusammenfasst, inwieweit eine Migration mit GitHub Actions Importer vollständig und komplex möglich ist.

Ausführen des Überprüfungsbefehls

Führe den folgenden Befehl am Terminal aus, um eine Überprüfung eines Jenkins-Servers durchzuführen:

gh actions-importer audit jenkins --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 allgemeine Statistiken zur von GitHub Actions Importer erzielten Conversion-Rate.

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

  • Erfolgreiche Pipelines hatten 100 % ihrer Pipeline-Komponenten und einzelnen Elemente automatisch in das entsprechende GitHub Actions-Äquivalent konvertiert.
  • 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.
  • Nicht unterstützte Pipelines sind Definitionstypen, die von 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.
    • GitHub Actions Importer Beim Konvertieren ist ein interner Fehler aufgetreten.
    • 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“ bietet einen Überblick über einzelne Buildschritte, die in allen Pipelines verwendet werden, und darüber, wie viele von GitHub Actions Importer automatisch konvertiert wurden.

Im Folgenden sind einige wichtige Begriffe aufgeführt, die im Abschnitt „Build-Schritte“ vorkommen können:

  • Ein bekannter Build-Schritt ist ein Schritt, der automatisch in eine äquivalente Aktion umgewandelt wurde.
  • Ein unbekannter Buildschritt ist ein Schritt, der nicht automatisch in eine entsprechende Aktion konvertiert wurde.
  • Ein nicht unterstützter Buildschritt ist ein Schritt, der entweder:
    • Grundsätzlich nicht unterstützt von GitHub Actions.
    • So konfiguriert, dass sie mit GitHub Actions nicht kompatibel ist.
  • Eine Aktion ist eine Liste der Aktionen, die in den konvertierten Workflows verwendet wurden. Dies kann für Folgendes wichtig sein:
    • Wenn Sie GitHub Enterprise Server verwenden, wird die Liste der Aktionen zusammengestellt, die mit Ihrer Instanz synchronisiert werden sollen.
    • 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.

Manuelle Aufgaben

Der 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.

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 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.
  • 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.

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.

Jede Pipeline-Datei enthält verschiedene Dateien, die in das Audit einbezogen werden, darunter:

  • Die ursprüngliche Pipeline, wie sie in GitHub definiert wurde.
  • Alle Netzwerkantworten, die für die Umwandlung 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 potenziellen Nutzung von Buildrunnern

Sie können den forecast Befehl verwenden, um die potenzielle GitHub Actions Nutzung zu prognostizieren, indem Sie Metriken aus der abgeschlossenen Pipeline berechnen, die auf Ihrem Jenkins-Server ausgeführt wird.

Voraussetzungen für die Ausführung des Vorhersagebefehls

Um den Befehl forecast für eine Jenkins-Instanz auszuführen, musst du das paginated-builds-Plug-In auf deinem Jenkins-Server installieren. Dieses Plug-In ermöglicht GitHub Actions Importer es, historische Builddaten für Aufträge mit einer großen Anzahl von Builds effizient abzurufen. Da Jenkins keine Methode zum Abrufen paginierter Builddaten bereitstellt, verhindert die Verwendung dieses Plug-Ins Timeouts vom Jenkins-Server, die beim Abrufen einer großen Menge von Verlaufsdaten auftreten können. Das Plug-In paginated-builds ist Open Source und macht einen REST-API-Endpunkt verfügbar, um Builddaten auf Seiten und nicht auf einmal abzurufen.

So installierst du das paginated-builds-Plug-In

  1. Navigiere auf deiner Jenkins-Instanz zu https://<your-jenkins-instance>/pluginManager/available.
  2. Suche nach dem paginated-builds-Plug-In.
  3. Aktiviere das Kontrollkästchen auf der linken Seite, und wähle Ohne Neustart installieren aus.

Ausführen des Vorhersagebefehls

Führen Sie zum Ausführen einer Prognose des Potenzials GitHub Actionsden folgenden Befehl in Ihrem Terminal aus. Standardmäßig enthält GitHub Actions Importer die vorherigen sieben Tage im Prognosebericht.

gh actions-importer forecast jenkins --output-dir tmp/forecast

Ü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. Diese Metrik kann verwendet werden, um die Kosten für GitHub-gehostete Runner zu planen.
    • 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 verwenden, um die Kosten zu schätzen.
  • Metriken zur Warteschlangenzeit beschreiben die Zeit, die ein Auftrag in der Warteschlange verbringt, bis ein Runner zur Ausführung verfügbar ist.
  • 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.

Zusätzlich werden diese Metriken für jede Warteschlange von Runnern in Jenkins 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.

Führen Sie eine Testmigration einer Jenkins-Pipeline durch

Sie können den dry-run Befehl verwenden, um eine Jenkins-Pipeline in den entsprechenden GitHub Actions Workflow zu konvertieren.

Ausführen des Probelaufbefehls

Sie können den dry-run Befehl verwenden, um eine Jenkins-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.

Um eine trockene Ausführung der Migration Ihrer Jenkins-Pipelines zu GitHub Actionsdurchführen, führen Sie den folgenden Befehl in Ihrem Terminal aus, und ersetzen my-jenkins-project Sie durch die URL Ihres Jenkins-Auftrags.

gh actions-importer dry-run jenkins --source-url my-jenkins-project --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 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.

Durchführen einer Produktionsmigration einer Jenkins-Pipeline

Sie können den migrate Befehl verwenden, um eine Jenkins-Pipeline zu konvertieren und eine Pullanforderung mit dem entsprechenden GitHub Actions Workflow zu öffnen.

Ausführen des Migrationsbefehls

Um eine Jenkins-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-jenkins-project durch die URL für Ihren Jenkins-Auftrag.

gh actions-importer migrate jenkins --target-url https://github.com/:owner/:repo --output-dir tmp/migrate --source-url my-jenkins-project

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

$ gh actions-importer migrate jenkins --target-url https://github.com/octo-org/octo-repo --output-dir tmp/migrate --source-url http://localhost:8080/job/monas_dev_work/job/monas_freestyle
[2022-08-20 22:08:20] Logs: 'tmp/migrate/log/actions-importer-20220916-014033.log'
[2022-08-20 22:08:20] Pull request: 'https://github.com/octo-org/octo-repo/pull/1'

Ü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 Files changed 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 bei der GitHub Actions Importer Migration von Jenkins.

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 Jenkins-Instanz herzustellen:

  • GITHUB_ACCESS_TOKEN: Die personal access token (classic) wird verwendet, um Pullanforderungen mit einem konvertierten Workflow zu erstellen (erfordert die Berechtigungen repo und workflow).

  • GITHUB_INSTANCE_URL: Die URL zur Zielinstanz GitHub (z. B https://github.com. ).

  • JENKINS_ACCESS_TOKEN: Das Jenkins-API-Token, das zum Anzeigen von Jenkins-Ressourcen verwendet wird

    Hinweis

    Dieses Token erfordert Zugriff auf alle Aufträge, die du migrieren oder überwachen möchtest. Falls ein Ordner oder Auftrag keine Zugriffssteuerungslisten vom übergeordneten Element erbt, musst du explizite Berechtigungen oder vollständige Administratorrechte gewähren.

  • JENKINS_USERNAME: Der Benutzername des Benutzerkontos, mit dem das Jenkins-API-Token erstellt wurde

  • JENKINS_INSTANCE_URL: Die URL der Jenkins-Instanz

  • JENKINSFILE_ACCESS_TOKEN (optional): Das API-Token, das verwendet wird, um den Inhalt eines im Buildrepository gespeicherten Jenkinsfile abzurufen. Es erfordert den Bereich repo. Wenn keine Angabe erfolgt, wird stattdessen das GITHUB_ACCESS_TOKEN verwendet.

Diese Umgebungsvariablen können in einer .env.local Datei angegeben werden, die geladen wird, wenn GitHub Actions Importer ausgeführt wird.

Verwenden optionaler Argumente

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

--source-file-path

Du kannst das --source-file-path-Argument mit den Unterbefehlen forecast, dry-run oder migration verwenden.

Ruft 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. Du kannst diese Option für Jenkinsfile- und Multibranch-Pipelines verwenden.

Wenn 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/*.jsonGitHub Actions Importer alle Quelldateien, die mit dem ./tmp/previous_forecast/jobs/*.json Dateipfad übereinstimmen.

Beispiel für eine Jenkinsfile-Pipeline

In diesem Beispiel wird die angegebene Jenkinsfile-Datei als Quelldatei verwendet, GitHub Actions Importer um einen Trockenlauf auszuführen.

gh actions-importer dry-run jenkins --output-dir path/to/output/ --source-file-path path/to/Jenkinsfile --source-url :url_to_jenkins_job

--config-file-path

Du kannst das --config-file-path-Argument mit den Unterbefehlen audit, dry-run und migrate verwenden.

Ruft 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.

Wenn Sie die Option mit den dry-run Oder-Unterbefehlen migrate verwenden, GitHub Actions Importer entspricht der --config-file-path Repository-Slug dem Auftrag, der durch die --source-url Option zum Auswählen der Pipeline dargestellt wird. Er verwendet config-file-path, um die angegebene Quelldatei zu pullen.

Beispiel für Prüfung

In diesem Beispiel GitHub Actions Importer wird die angegebene YAML-Konfigurationsdatei verwendet, um ein Audit durchzuführen.

gh actions-importer audit jenkins --output-dir path/to/output/ --config-file-path path/to/jenkins/config.yml

Um eine Jenkins-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: pipeline-name
    path: path/to/Jenkinsfile
  - repository_slug: multi-branch-pipeline-name
    branches:
      - branch: main
        path: path/to/Jenkinsfile
      - branch: node
        path: path/to/Jenkinsfile

Unterstützte Syntax für Jenkins-Pipelines

In den folgenden Tabellen ist der Typ der Eigenschaften GitHub Actions Importer dargestellt, der derzeit konvertiert werden kann. Weitere Informationen zur Ausrichtung GitHub Actionsder Jenkins-Pipelinesyntax finden Sie unter Migrieren von Jenkins zu GitHub Actions.

Informationen zu unterstützten Jenkins-Plug-Ins findest du im github/gh-actions-importer-Repository.

Unterstützte Syntax für Freestyle-Pipelines

JenkinsGitHub-AktionenStatus
Docker-Vorlagejobs.<job_id>.containerUnterstützt
buildjobsTeilweise unterstützt
Erstellen der UmgebungenvTeilweise unterstützt
BuildtriggeronTeilweise unterstützt
allgemeinrunnersTeilweise unterstützt

Unterstützte Syntax für Jenkinsfile-Pipelines

JenkinsGitHub-AktionenStatus
Dockerjobs.<job_id>.containerUnterstützt
Phasejobs.<job_id>Unterstützt
AgentrunnersTeilweise unterstützt
UmgebungenvTeilweise unterstützt
StufenjobsTeilweise unterstützt
Schrittejobs.<job_id>.stepsTeilweise unterstützt
AuslöseronTeilweise unterstützt
wennjobs.<job_id>.ifTeilweise unterstützt
EingabeninputsNicht unterstützt
Matrixjobs.<job_id>.strategy.matrixNicht unterstützt
Optionenjobs.<job_id>.strategyNicht unterstützt
parametersinputsNicht unterstützt

Syntax für Umgebungsvariablen

GitHub Actions Importer verwendet die Zuordnung in der folgenden Tabelle, um standardvariable Jenkins-Umgebungsvariablen in das nächstgelegene Äquivalent zu GitHub Actionskonvertieren.

JenkinsGitHub-Aktionen
${BUILD_ID}${{ github.run_id }}
${BUILD_NUMBER}${{ github.run_id }}
${BUILD_TAG}${{ github.workflow }}-${{ github.run_id }}
${BUILD_URL}${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
${JENKINS_URL}${{ github.server_url }}
${JOB_NAME}${{ github.workflow }}
${WORKSPACE}${{ github.workspace }}

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.