Vai al contenuto
GitTree
Pipeline CI/CD

Esegui pipeline localmente

GitTree prepara l'esatto comando act o gitlab-ci-local per un file di flusso di lavoro o un lavoro e lo digita in un nuovo terminale affinché tu possa eseguirlo. I lavori vengono eseguiti in Docker contenitori sul tuo computer, prima dell'invio. Le pipeline locali fanno parte del piano gratuito e non necessitano di un account di hosting.

GratuitoAggiornato

Funziona in GitTree Gratuito: tutte le funzionalità Git locali, senza bisogno di un account.

In questa pagina
  1. Prima di iniziare
  2. Dove trovarlo
  3. Passi
  4. Risultato atteso
  5. Installa Docker e i corridori
  6. I file di esempio
  7. Bitbucket Pipelines e Azure Pipelines
  8. In che modo una corsa locale differisce dal tuo host
  9. Se qualcosa va storto
  10. Domande
  11. Relativo

Prima di iniziare

  • Docker, in esecuzione: Docker Desktop, OrbStack, Colima o Docker Engine. Entrambi i corridori iniziano ogni lavoro in un container.
  • Il runner per il tuo file: act per GitHub Actions (.github/workflows/*.yml), gitlab-ci-local per GitLab CI (.gitlab-ci.yml). Installalo all'esterno del repository, in una cartella su PATH.
  • Un repository affidabile (repository trust): un'esecuzione locale esegue il codice del repository.
  • Una shell terminale supportata: bash, zsh, sh o fish su macOS; PowerShell su Windows; bash, zsh, sh o fish su Linux.

Dove trovarlo

  • Il pulsante CI/CD nella barra degli strumenti: senza un account collegato o Pro, la visualizzazione si apre su Local pipelines.
  • La sezione TOOLS del pannello di sinistra: Prepare local pipeline.
  • Tools nella barra degli strumenti (accanto a Terminal) o nel menu della scheda repository: Prepare local pipeline…, anche nella tavolozza dei comandi o con Alt+Shift+L.
AzionemacOSWindows e Linux
La tavolozza dei comandi, quindi Prepare local pipeline…⌘⇧PCtrl+Shift+P
Show CI/CD⌥PAlt+P

Passi

  1. Controlla ciò di cui hai bisogno

    Apri CI/CD. Local pipelines elenca What you need: Docker, act e gitlab-ci-local con Found o Not found e dove è stato trovato ciascuno, l'attendibilità del repository e la shell del terminale. Un programma mancante mostra come installarlo; installarlo, quindi premere Check again. Ask Nour to Set Up the Local Runner fa parte di Pro, che al momento tutti hanno a disposizione gratuitamente. La preparazione e l'esecuzione del comando localmente no.

    La vista CI/CD sulle pipeline locali, con Docker e atto trovati e gitlab-ci-local non trovati
    Le pipeline locali sono contrassegnate come gratuite. Le corse ospitate sopra di esse necessitano comunque di un account connesso.GitTree interfaccia con un repository dimostrativo.
  2. Aggiungi un file pipeline o usa il tuo

    Pipeline files in this repository elenca ciascun file con Ready to run o il motivo per cui non può essere eseguito. Senza ancora alcun file, Add GitHub Actions sample scrive .github/workflows/gittree-local.yml e Add GitLab CI sample scrive .gitlab-ci.yml, ciascuno con due lavori commentati. GitTree non sovrascrive mai un file esistente. Il file si apre nell'editor: inserisci i comandi di build e test al suo interno.

  3. Preparare il comando

    Premi Run Locally…. In Prepare local pipeline, scegli Pipeline config, a Job o Runner default jobs e Terminal shell, quindi Prepare command. Non funziona ancora nulla.

  4. Eseguilo nel terminale

    Leggi il Prepared command, quindi il Type in new terminal. GitTree lo digita in un nuovo terminale e non preme mai Invio: rivedilo e premi Invio tu stesso. L'output del lavoro viene visualizzato nel terminale.

Risultato atteso

Il runner estrae l'immagine del lavoro la prima volta, quindi esegue ogni passaggio in un contenitore e stampa il risultato nel terminale. I file del tuo repository vengono utilizzati così come sono su disco, confermati o meno.

Installa Docker e i corridori

Cosa installare su ciascun sistema
ProgrammamacOSWindowsLinux
DockerDocker Desktop, OrbStack o ColimaDocker DesktopDocker Engine o Docker Desktop
agire (GitHub Actions)brew install actwinget install nektos.actLo script di installazione su nektosact.com
gitlab-ci-local (GitLab CI)npm install -g gitlab-ci-localIl file .exe delle sue versioni GitHub, in una cartella su PATHnpm install -g gitlab-ci-local

gitlab-ci-local richiede Node.js 18 o versione successiva se installato con npm. GitTree cerca solo i programmi su PATH; non li esegue mai per controllare, quindi non può dire se il motore Docker è avviato.

I file di esempio

L'esempio GitHub Actions esegue un lavoro build, quindi un lavoro test su ubuntu-latest. Alla prima esecuzione l'atto chiede quale immagine del corridore utilizzare; Medium è adatto alla maggior parte dei progetti. L'esempio GitLab CI esegue gli stessi due lavori in alpine contenitori. Sostituisci le righe echo con i tuoi comandi, quindi conferma il file quando è pronto. Se il repository è su GitHub o GitLab, anche quell'host esegue il file.

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 test

Bitbucket Pipelines e Azure Pipelines

Non esiste un runner locale supportato per bitbucket-pipelines.yml o azure-pipelines.yml, quindi questi file mostrano No local runner. Per eseguire gli stessi passaggi sul tuo computer, aggiungi l'esempio GitHub Actions o GitLab CI e copiaci i comandi. La pipeline ospitata continua a essere eseguita dal proprio file.

In che modo una corsa locale differisce dal tuo host

  • I segreti e le variabili impostati sull'host non sono disponibili; passa tu stesso quelli necessari per un lavoro al corridore.
  • act esegue lavori attivati tramite push per impostazione predefinita. Scegli un Job per eseguirne uno indipendentemente dal suo trigger.
  • Include, modelli e flussi di lavoro riutilizzabili non vengono risolti quando GitTree elenca i lavori; il corridore li risolve quando corre.
  • I contenitori possono raggiungere la tua rete e utilizzare le credenziali fornite loro.

Se qualcosa va storto

"Nessun corridore nativo sicuro è stato trovato su PATH. Installalo all'esterno del repository, quindi aggiorna. "

Installa act o gitlab-ci-local in una cartella sul PERCORSO che non si trova all'interno del repository, quindi premi Check again o Refresh. Il giorno macOS, esci e riapri GitTree se hai cambiato PATH nel profilo della tua shell.

"La configurazione di questo provider non ha un runner locale supportato."

Il file è una pipeline Bitbucket o Azure. Aggiungi un campione GitHub Actions o GitLab CI e copia i passaggi al suo interno.

"Affidati a questo repository prima di preparare un comando della pipeline locale."

Affidare prima il repository (repository trust), quindi preparare nuovamente il comando.

Il terminale dice che non può connettersi al demone Docker.

Avvia Docker Desktop, OrbStack, Colima o il servizio Docker, attendi finché non viene eseguito, quindi premi nuovamente Invio sul comando.

Domande

Le pipeline locali necessitano di GitTree Pro o di un account di hosting?

No. Le pipeline locali fanno parte del piano gratuito e leggono solo i file del tuo repository. Le esecuzioni, le ripetizioni e le approvazioni CI/CD ospitate fanno parte di Pro.

GitTree esegue la pipeline per me?

No. GitTree prepara il comando e lo digita in un terminale; premi Invio. Niente viene eseguito prima di te.