Profesjonell arbeidsflyt med Git og GitHub · leksjon

Bygge CI/CD-workflows

Opprett praktiske CI/CD-pipelines som automatisk bygger, tester og distribuerer koden din ved push eller pull requests.

Leksjon 2 av 411 trinn

Bygge CI/CD-workflows er en gratis leksjon i Profesjonell arbeidsflyt med Git og GitHub på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Profesjonell arbeidsflyt med Git og GitHub, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Profesjonell arbeidsflyt med Git og GitHub inneholder totalt 4 leksjoner.

Velkommen til CI/CD

I denne leksjonen lærer De å bygge kraftige Continuous Integration (CI)- og Continuous Deployment (CD)-pipelines ved hjelp av GitHub Actions.

CI/CD automatiserer programvareutviklingsprosessen, fra kodeendringer til distribusjon, og gjør den raskere og mer pålitelig.

Hvorfor CI/CD er viktig

Hvorfor er automatisering så viktig i moderne programvareutvikling?

  • Raskere tilbakemelding: Oppdag feil og integrasjonsproblemer tidlig ved å kjøre tester automatisk.
  • Ensartede bygg: Sørg for at hvert bygg følger de samme trinnene, slik at problemer av typen «det fungerer på min maskin» reduseres.
  • Pålitelig lansering: Distribuer nye funksjoner eller feilrettinger med større trygghet og færre manuelle feil.
  • Bedre samarbeid: Team integrerer endringer ofte og sømløst, noe som minimerer sammenslåingskonflikter.

GitHub Actions: Grunnleggende konsepter

GitHub Actions bruker arbeidsflyter som er definert i YAML-filer. Disse filene ligger i en egen katalog i repositoriet Deres: .github/workflows/.

En arbeidsflyt definerer en serie med jobber, og hver jobb inneholder trinn som kjører kommandoer eller bruker ferdiglagde actions. Slik forteller De GitHub hva som skal gjøres!

Bygge Deres første CI-arbeidsflyt

La oss lage en grunnleggende CI-arbeidsflyt som utløses ved hver push til repositoriet Deres. Den konfigurerer Node.js og simulerer en prosess for å bygge et prosjekt.

Lagre dette innholdet som .github/workflows/ci.yml i repositoriet Deres:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Build project
        run: node build.js

Simulere byggeskriptet

Kommandoen node build.js i arbeidsflyten ville kjørt et skript som dette. Dette skriptet simulerer arbeidet med å kompilere, pakke eller klargjøre koden i applikasjonen Deres.

Prøv å kjøre det for å se resultatet:

console.log("Starting project build...");
console.log("  - Compiling source files...");
console.log("  - Bundling assets for deployment...");
console.log("Build process finished successfully!");

Legge til automatiserte tester

En viktig del av CI er å kjøre automatiserte tester. La oss utvide arbeidsflyten med et testtrinn etter installasjonen av avhengighetene. Hvis testene mislykkes, mislykkes arbeidsflyten, slik at dårlig kode hindres i å gå videre!

Vi legger til et test-trinn som dette:

name: Node.js CI

on: [push]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18'
      - name: Install dependencies
        run: npm install
      - name: Run tests
        run: node test.js
      - name: Build project
        run: node build.js

Simulere testskriptet

Her er et enkelt test.js-skript som arbeidsflyten Deres kan kjøre. I et virkelig prosjekt ville dette involvert testrammeverk som Jest eller Mocha, men eksempelet viser prinsippet for å kjøre tester.

Kjør det for å se et simulert testresultat:

console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing

if (allTestsPass) {
  console.log("All 12 tests passed successfully!");
} else {
  console.error("Tests failed! Please fix the errors.");
  process.exit(1); // Exit with a non-zero code to indicate failure
}

Introduksjon til Continuous Deployment (CD)

Mens CI fokuserer på bygging og testing, går Continuous Deployment (CD) ett skritt videre ved å distribuere applikasjonen automatisk til en server eller skytjeneste når alle CI-kontroller er bestått.

Vanlige CD-utløsere omfatter:

  • Opprettelse av en ny Git-tag (for eksempel v1.0.0)
  • Push til en bestemt gren (for eksempel main eller production)
  • Opprettelse av en GitHub Release

En enkel CD-arbeidsflyt

Her er en arbeidsflyt som utløses av en ny Git-tag og inneholder et simulert distribusjonstrinn. I en virkelig situasjon ville dette trinnet kommunisert med vertsleverandøren Deres (for eksempel AWS, Azure eller Heroku).

Lagre dette som .github/workflows/cd.yml:

name: Deploy to Production

on:
  push:
    tags:
      - 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Simulate deployment
        run: |
          echo "Deploying application to production server..."
          echo "Version: ${{ github.ref_name }}"
          echo "Deployment complete!"
          # In a real scenario, you'd use a deployment action here
          # e.g., aws-actions/configure-aws-credentials, appleboy/ssh-action

Sjekk av CI/CD-arbeidsflyt

Hvilke av følgende er viktige fordeler ved å implementere CI/CD-pipelines?

Oppsummering: Bygge CI/CD

De har lært å bygge robuste CI/CD-arbeidsflyter med GitHub Actions!

  • Vi definerte CI/CD og fordelene dette gir i moderne utvikling.
  • Vi utforsket den grunnleggende YAML-strukturen for GitHub Actions-arbeidsflyter.
  • Vi opprettet CI-arbeidsflyter for å automatisere bygging og testing av prosjekter.
  • Vi utformet en CD-arbeidsflyt for automatiserte distribusjoner utløst av tagger.

Fortsett å automatisere, slik at De kan levere kode raskere og med større trygghet!

Gratis å komme i gang

Lær deg Profesjonell arbeidsflyt med Git og GitHub med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Bygge CI/CD-workflows» gratis?

Ja – hele teksten i «Bygge CI/CD-workflows» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Profesjonell arbeidsflyt med Git og GitHub-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Profesjonell arbeidsflyt med Git og GitHub inneholder totalt 4 leksjoner.

Hva lærer jeg i «Bygge CI/CD-workflows»?

Opprett praktiske CI/CD-pipelines som automatisk bygger, tester og distribuerer koden din ved push eller pull requests. Du øver på Profesjonell arbeidsflyt med Git og GitHub med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Profesjonell arbeidsflyt med Git og GitHub?

Ingen tidligere erfaring er nødvendig. Profesjonell arbeidsflyt med Git og GitHub på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Bygge CI/CD-workflows»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Profesjonell arbeidsflyt med Git og GitHub-leksjonen?

Ja. Alle Profesjonell arbeidsflyt med Git og GitHub-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til GitHub Actions
  2. Bygge CI/CD-workflows
  3. Egendefinerte Actions og Marketplace
  4. Hemmeligheter og miljøvariabler i Actions
← Tilbake til Profesjonell arbeidsflyt med Git og GitHub