Führen Sie Pipelines lokal aus
GitTree bereitet den genauen act- oder gitlab-ci-local-Befehl für eine Workflowdatei oder einen Job vor und gibt ihn in ein neues Terminal ein, damit Sie ihn ausführen können. Jobs werden vor dem Pushen in Docker Containern auf Ihrem Computer ausgeführt. Lokale Pipelines sind Teil des kostenlosen Plans und benötigen kein Hosting-Konto.
Funktioniert in GitTree Kostenlos: alle lokalen Git-Funktionen, kein Konto erforderlich.
Auf dieser Seite
Bevor Sie beginnen
- Docker, läuft: Docker Desktop, OrbStack, Colima oder Docker Engine. Beide Runner starten jeden Job in einem Container.
- Der Läufer für Ihre Datei: act für GitHub Actions (
.github/workflows/*.yml), gitlab-ci-local für GitLab CI (.gitlab-ci.yml). Installieren Sie es außerhalb des Repositorys in einem Ordner auf PATH. - Ein vertrauenswürdiges Repository (repository trust): Eine lokale Ausführung führt den Code des Repositorys aus.
- Eine unterstützte Terminal-Shell: bash, zsh, sh oder fish on macOS; PowerShell auf Windows; Bash, Zsh, Sh oder Fish auf Linux.
Wo es zu finden ist
- Die Schaltfläche CI/CD in der Symbolleiste: Ohne verbundenes Konto oder Pro öffnet sich die Ansicht auf Local pipelines.
- Der Abschnitt TOOLS im linken Bereich: Prepare local pipeline.
- Tools in der Symbolleiste (neben Terminal) oder im Menü der Repository-Registerkarte: Prepare local pipeline…, auch in der Befehlspalette oder mit
Alt+Shift+L.
| Aktion | macOS | Windows und Linux |
|---|---|---|
| Die Befehlspalette, dann Prepare local pipeline… | ⌘⇧P | Ctrl+Shift+P |
| Show CI/CD | ⌥P | Alt+P |
Schritte
Prüfen Sie, was Sie brauchen
Öffnen Sie CI/CD. Local pipelines listet What you need auf: Docker, act und gitlab-ci-local mit Found oder Not found und wo sie jeweils gefunden wurden, die Vertrauensstellung des Repositorys und die Terminal-Shell. Ein fehlendes Programm zeigt, wie es installiert wird; Installieren Sie es und drücken Sie dann Check again. Ask Nour to Set Up the Local Runner ist Teil von Pro, das derzeit jeder kostenlos nutzt. Das Vorbereiten und Ausführen des Befehls lokal funktioniert nicht.

Lokale Pipelines sind als „Frei“ gekennzeichnet. Für darüber liegende gehostete Läufe ist weiterhin ein verbundenes Konto erforderlich.GitTree-Schnittstelle mit einem Demonstrations-Repository. Fügen Sie eine Pipeline-Datei hinzu oder verwenden Sie Ihre eigene
Pipeline files in this repository listet jede Datei mit Ready to run oder dem Grund auf, warum sie nicht ausgeführt werden kann. Da noch keine Datei vorhanden ist, schreibt Add GitHub Actions sample
.github/workflows/gittree-local.ymlund Add GitLab CI sample schreibt.gitlab-ci.yml, jeweils mit zwei kommentierten Jobs. GitTree überschreibt niemals eine vorhandene Datei. Die Datei wird im Editor geöffnet: Geben Sie Ihre Build- und Testbefehle darin ein.Bereiten Sie den Befehl vor
Drücken Sie Run Locally…. Wählen Sie in Prepare local pipeline das Pipeline config, ein Job oder Runner default jobs und das Terminal shell und dann Prepare command. Es läuft noch nichts.
Führen Sie es im Terminal aus
Lesen Sie Prepared command und dann Type in new terminal. GitTree gibt es in ein neues Terminal ein und drückt nie die Eingabetaste: Überprüfen Sie es und drücken Sie selbst die Eingabetaste. Die Ausgabe des Jobs erscheint im Terminal.
Erwartetes Ergebnis
Der Läufer ruft das Bild des Auftrags beim ersten Mal ab, führt dann jeden Schritt in einem Container aus und gibt das Ergebnis im Terminal aus. Die Dateien Ihres Repositorys werden so verwendet, wie sie sich auf der Festplatte befinden, unabhängig davon, ob sie committet sind oder nicht.
Installieren Sie Docker und die Läufer
| Programm | macOS | Windows | Linux |
|---|---|---|---|
| Docker | Docker Desktop, OrbStack oder Colima | Docker Desktop | Docker Engine oder Docker Desktop |
| handeln (GitHub Actions) | brew install act | winget install nektos.act | Das Installationsskript auf nektosact.com |
| gitlab-ci-local (GitLab CI) | npm install -g gitlab-ci-local | Die EXE-Datei aus ihren GitHub-Versionen in einem Ordner auf PATH | npm install -g gitlab-ci-local |
gitlab-ci-local benötigt Node.js 18 oder höher, wenn es mit npm installiert wird. GitTree sucht nur nach den Programmen auf PATH; Sie werden nie zur Überprüfung ausgeführt und können daher nicht feststellen, ob die Docker-Engine gestartet ist.
Die Beispieldateien
Das GitHub Actions-Beispiel führt einen build-Job und dann einen test-Job auf ubuntu-latest aus. Bei der ersten Ausführung fragt act, welches Läuferbild verwendet werden soll. Medium eignet sich für die meisten Projekte. Das GitLab CI-Beispiel führt dieselben zwei Jobs in alpine-Containern aus. Ersetzen Sie die echo-Zeilen durch Ihre eigenen Befehle und übergeben Sie die Datei, wenn sie fertig ist. Wenn sich das Repository auf GitHub oder GitLab befindet, führt dieser Host auch die Datei aus.
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: npm ci && npm run build
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: Test
run: npm testBitbucket Pipelines und Azure Pipelines
Es gibt keinen unterstützten lokalen Runner für bitbucket-pipelines.yml oder azure-pipelines.yml, daher wird in diesen Dateien No local runner angezeigt. Um dieselben Schritte auf Ihrem Computer auszuführen, fügen Sie das Beispiel GitHub Actions oder GitLab CI hinzu und kopieren Sie Ihre Befehle hinein. Die gehostete Pipeline wird weiterhin aus ihrer eigenen Datei ausgeführt.
Wie sich eine lokale Ausführung von Ihrem Host unterscheidet
- Auf dem Host festgelegte Geheimnisse und Variablen sind nicht verfügbar. Geben Sie diejenigen, die ein Job benötigt, selbst an den Läufer weiter.
- act führt standardmäßig durch Push ausgelöste Jobs aus. Wählen Sie ein Job aus, um es unabhängig von seinem Auslöser auszuführen.
- Einschließt, Vorlagen und wiederverwendbare Workflows werden nicht aufgelöst, wenn GitTree Jobs auflistet; Der Läufer löst sie auf, wenn er rennt.
- Container können Ihr Netzwerk erreichen und die von Ihnen angegebenen Anmeldeinformationen verwenden.
Wenn etwas schief geht
„Auf PATH wurde kein sicherer nativer Läufer gefunden. Installieren Sie ihn außerhalb des Repositorys und aktualisieren Sie ihn dann.“
Installieren Sie act oder gitlab-ci-local in einem Ordner auf PATH, der sich nicht im Repository befindet, und drücken Sie dann Check again oder Refresh. Beenden Sie am macOS und öffnen Sie GitTree erneut, wenn Sie PATH in Ihrem Shell-Profil geändert haben.
„Diese Anbieterkonfiguration hat keinen unterstützten lokalen Läufer.“
Die Datei ist eine Bitbucket- oder Azure-Pipeline. Fügen Sie ein GitHub Actions- oder GitLab CI-Beispiel hinzu und kopieren Sie die Schritte hinein.
„Vertrauen Sie diesem Repository, bevor Sie einen lokalen Pipeline-Befehl vorbereiten.“
Vertrauen Sie zuerst dem Repository (Repository-Vertrauensstellung) und bereiten Sie dann den Befehl erneut vor.
Das Terminal meldet, dass keine Verbindung zum Docker-Daemon hergestellt werden kann.
Starten Sie den Dienst Docker Desktop, OrbStack, Colima oder den Dienst Docker, warten Sie, bis er ausgeführt wird, und drücken Sie dann erneut die Eingabetaste für den Befehl.
Fragen
Benötigen lokale Pipelines GitTree Pro oder ein Hosting-Konto?
Nein. Lokale Pipelines sind Teil des kostenlosen Plans und lesen nur die Dateien Ihres Repositorys. Gehostete CI/CD-Läufe, Wiederholungen und Genehmigungen sind Teil von Pro.
Führt GitTree die Pipeline für mich aus?
Nein. GitTree bereitet den Befehl vor und gibt ihn in ein Terminal ein; Sie drücken die Eingabetaste. Nichts läuft, bevor Sie es tun.