Förstå arbetsflöden
Arbetsflöden är automatiserade processer som du definierar för att skapa, testa, paketera, släppa eller distribuera projektet. De består av ett eller flera jobb som körs som svar på specifika händelser på din lagringsplats.
Arbetsflödesstruktur
Varje arbetsflöde innehåller följande nyckelkomponenter:
Utlösare (händelser)
Definiera när arbetsflödet ska köras – vid push-, pull-begäran, schema eller manuell utlösare.
Jobb
En uppsättning steg som körs på samma löpare. Jobb körs parallellt som standard men kan konfigureras att köras sekventiellt.
Steg
Enskilda uppgifter i ett jobb som kan köra kommandon, konfigurera uppgifter eller använda åtgärder.
Löpare
Beräkningsmiljön där dina jobb körs – antingen GitHub-värdbaserad eller lokalt installerad.
Arbetsflödesplats och namngivning
Arbetsflöden lagras som YAML-filer i katalogen på .github/workflows din lagringsplats. Filnamnet blir arbetsflödesidentifieraren i GitHub-användargränssnittet.
Exempel på modernt arbetsflöde
Här är ett omfattande exempel med aktuella metodtips:
# .github/workflows/ci.yml
name: CI Pipeline
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
schedule:
- cron: "0 2 * * 0" # Weekly dependency check
env:
NODE_VERSION: "20"
jobs:
test:
name: Test and Lint
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Run linting
run: npm run lint
- name: Run tests with coverage
run: npm run test:coverage
- name: Upload coverage reports
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
build:
name: Build Application
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: "npm"
- name: Install dependencies
run: npm ci
- name: Build application
run: npm run build
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-files
path: dist/
Viktiga förbättringar i moderna arbetsflöden
Det här exemplet visar aktuella metodtips:
-
Senaste åtgärdsversioner: Använda
@v4versioner av populära åtgärder - Cachelagring av beroenden: Påskyndar arbetsflödeskörning
- Miljövariabler: Centraliserad konfigurationshantering
-
Jobbberoenden:
buildjobbet körs endast efter atttestlyckas - Artefakthantering: Korrekt lagring och delning av byggutdata
- Säkerhet: Använda hemligheter för känsliga data som token
Ytterligare resurser
Utforska dessa resurser för att förbättra dina arbetsflödeskunskaper:
- Startarbetsflöden – Färdiga mallar för vanliga scenarier
- Referens för arbetsflödessyntax – Fullständig syntaxdokumentation
- Marknadsplatsåtgärder – community-bidragna åtgärder