Den här guiden förklarar hur du sätter upp och använder GitHub Actions för kontinuerlig integration (CI) och kontinuerlig distribution (CD) i ditt projekt.
Vad är GitHub Actions?
GitHub Actions är GitHubs inbyggda CI/CD-plattform som låter dig automatisera arbetsflöden direkt i ditt repository. Du kan bygga, testa och distribuera din kod automatiskt när vissa händelser inträffar.
Grundläggande koncept
- Workflow: En automatiserad process som körs när en specifik händelse inträffar
- Job: En samling steg som körs på samma runner
- Step: En individuell uppgift som kan köra kommandon eller actions
- Action: En återanvändbar enhet av kod
- Runner: En server som kör dina workflows
Komma igång
1. Skapa workflow-fil
Skapa en mapp
.github/workflows/ i ditt repository och lägg till en YAML-fil, till exempel ci.yml:2. Konfigurera triggers
Definiera när din workflow ska köras:
Vanliga CI/CD-patterns
Testa och bygga
Deploy till produktion
Multi-environment deployment
Arbeta med secrets
Känslig information som API-nycklar och lösenord ska lagras som secrets:
- Gå till repository Settings → Secrets and variables → Actions
- Klicka på "New repository secret"
- Använd i workflow:
Caching för snabbare builds
Cacha dependencies för att minska byggtiden:
Matrix builds
Testa mot flera versioner eller konfigurationer samtidigt:
Artifacts och outputs
Spara byggresultat mellan jobb:
Användbara actions från marketplace
- actions/checkout@v3: Checka ut repository-kod
- actions/setup-node@v3: Sätt upp Node.js
- actions/cache@v3: Cacha dependencies
- docker/build-push-action@v4: Bygg och pusha Docker images
- aws-actions/configure-aws-credentials@v2: Konfigurera AWS credentials
- peaceiris/actions-gh-pages@v3: Deploya till GitHub Pages
Best practices
- Använd specifika versioner: Ange versioner för actions (
@v3) för stabilitet
- Separera jobb: Dela upp CI och CD i separata jobb
- Använd conditions: Kör vissa steg endast vid specifika förhållanden
- Håll workflows DRY: Använd reusable workflows och composite actions
- Sätt timeouts: Förhindra att jobb hänger sig
- Använd environments: Konfigurera skydd för produktionsdeploys
Felsökning
- Aktivera debug logging: Lägg till secrets
ACTIONS_STEP_DEBUGochACTIONS_RUNNER_DEBUGmed värdetrue
- Testa lokalt: Använd act för att köra workflows lokalt
- Granska logs: Klicka på workflow runs i GitHub Actions-fliken