Intensiv DevOps-uddannelse · Lektion

Opbygning af CI/CD-workflows

Opret praktiske CI/CD-pipelines, der automatisk bygger, tester og deployer Deres kode ved push eller pull requests.

Lektion 2 af 411 trin

Opbygning af CI/CD-workflows er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Velkommen til CI/CD

I denne lektion lærer du at bygge effektive Continuous Integration (CI)- og Continuous Deployment (CD)-automatiseringsforløb ved hjælp af GitHub Actions.

CI/CD automatiserer din softwareudviklingsproces fra kodeændringer til implementering, så den bliver hurtigere og mere pålidelig.

Hvorfor CI/CD er vigtigt

Hvorfor er automatisering så afgørende i moderne softwareudvikling?

  • Hurtigere feedback: Opdag fejl og integrationsproblemer tidligt ved at køre test automatisk.
  • Ensartede builds: Sørg for, at hvert build følger de samme trin, så problemer med "det virker på min maskine" reduceres.
  • Pålidelige udgivelser: Implementer nye funktioner eller rettelser med større sikkerhed og færre manuelle fejl.
  • Bedre samarbejde: Teams integrerer ændringer hyppigt og problemfrit, så flettekonflikter begrænses.

GitHub Actions: Grundlæggende begreber

GitHub Actions bruger arbejdsgange, der er defineret i YAML-filer. Disse filer ligger i en særlig mappe i dit lager: .github/workflows/.

En arbejdsgang definerer en række job, og hvert job indeholder trin, der udfører kommandoer eller bruger forudbyggede handlinger. Det er sådan, du fortæller GitHub, hvad der skal gøres!

Byg din første CI-arbejdsgang

Lad os oprette en grundlæggende CI-arbejdsgang, der udløses ved hver push til dit lager. Den konfigurerer Node.js og simulerer en byggeproces for et projekt.

Gem dette indhold som .github/workflows/ci.yml i dit lager:

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

Simulering af byggescriptet

Kommandoen node build.js i arbejdsgangen udfører et script som dette. Scriptet simulerer arbejdet med at kompilere, samle eller klargøre din applikations kode.

Prøv at køre det for at se outputtet:

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

Tilføj automatiserede test

En vigtig del af CI er at køre automatiserede test. Lad os udvide vores arbejdsgang med et testtrin efter installation af afhængighederne. Hvis testene mislykkes, mislykkes arbejdsgangen, så dårlig kode ikke føres videre!

Vi tilføjer et test-trin 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

Simulering af testscriptet

Her er et enkelt test.js-script, som din arbejdsgang muligvis udfører. I et rigtigt projekt ville det involvere testrammer som Jest eller Mocha, men dette demonstrerer princippet i at udføre test.

Kør det for at se et simuleret 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
}

Introduktion til Continuous Deployment (CD)

Hvor CI fokuserer på at bygge og teste, går Continuous Deployment (CD) et skridt videre ved automatisk at implementere din applikation på en server eller cloudtjeneste, når alle CI-tjek er gennemført.

Almindelige CD-udløsere omfatter:

  • Oprettelse af et nyt Git-tag, f.eks. v1.0.0
  • Push til en bestemt gren, f.eks. main eller production
  • Oprettelse af en GitHub-udgivelse

En enkel CD-arbejdsgang

Her er en arbejdsgang, der udløses af et nyt Git-tag og indeholder et simuleret implementeringstrin. I en virkelig situation ville dette trin kommunikere med din hostingudbyder, f.eks. AWS, Azure eller Heroku.

Gem den 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

Tjek af CI/CD-arbejdsgang

Hvilke af følgende er vigtige fordele ved at implementere CI/CD-automatiseringsforløb?

Opsummering: Opbygning af CI/CD

Du har lært at bygge robuste CI/CD-arbejdsgange med GitHub Actions!

  • Vi definerede CI/CD og fordelene ved det i moderne udvikling.
  • Vi udforskede den grundlæggende YAML-struktur for arbejdsgange i GitHub Actions.
  • Vi oprettede CI-arbejdsgange til automatisering af projektbyg og test.
  • Vi designede en CD-arbejdsgang til automatiserede implementeringer udløst af tags.

Fortsæt med at automatisere, så du kan levere kode hurtigere og med større sikkerhed!

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Opbygning af CI/CD-workflows” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Opbygning af CI/CD-workflows”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Opbygning af CI/CD-workflows”?

Opret praktiske CI/CD-pipelines, der automatisk bygger, tester og deployer Deres kode ved push eller pull requests. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Opbygning af CI/CD-workflows”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Introduktion til GitHub Actions
  2. Opbygning af CI/CD-workflows
  3. Brugerdefinerede Actions og Marketplace
  4. Secrets og miljøvariabler i Actions
← Tilbage til Intensiv DevOps-uddannelse