
Guide til å sette opp CI/CD med GitHub Actions
Hva er GitHub Actions?
GitHub Actions er en innebygd CI/CD-løsning som lar deg automatisere bygg, testing og deploy direkte i GitHub-repoet.
Forutsetninger
- GitHub-konto
- Et repository med kode
- (Valgfritt) Cloud - eller server-tilgang for deploy
Steg 1: Opprette workflow-fil
I repoet, opprett mappen .github/workflows/.
Opprett en fil, f.eks. ci.yml.
name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: npm test
Steg 2: Legg til bygg- og pakketrinn
Utvid jobben med bygg- og pakketrinn:
- name: Build
run: npm run build
- name: Archive artefacts
uses: actions/upload-artifact@v3
with:
name: build-output
path: dist/
Steg 3: Deploy (eksempel til Heroku)
Legg til eget deploy-jobb som kjører etter vellykket bygg:
deploy:
needs: build-and-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: build-output
path: dist/
- name: Deploy to Heroku
uses: akhileshns/heroku-deploy@v3.12.12
with:
heroku_api_key: ${{ secrets.HEROKU_API_KEY }}
heroku_app_name: my-app
heroku_email: you@example.com
Tips: Legg HEROKU_API_KEY i repoets Secrets under Settings > Secrets and variables.
Steg 4: Monitorering og varsler
GitHub viser status i PR-er og commits.
Bruk actions/notifications eller koble til Slack/email via tredjeparts-actions.
Oppsummering
- Lag workflow i .github/workflows/ci.yml.
- Definer triggers (push, pull_request).
- Sjekk ut kode, installer, test, bygg og pakk.
- Konfigurer deploy med hemmeligheter.
- Overvåk status i GitHub og få varsler.
- Med dette har du full CI/CD-pipeline med GitHub Actions – automatisk, gratis og tett integrert i repositoriet ditt.
Publisert
Visninger
28
Lesetid
1 minutt og 25 sekunder
Skrevet av
Andrè S
Emner
GitHub
CI/CD
utvikling
teknologi
Automatikk
Data
Del