Opbygning af CI/CD-workflows
Opret praktiske CI/CD-pipelines, der automatisk bygger, tester og deployer Deres kode ved push eller pull requests.
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.jsSimulering 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.jsSimulering 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.
mainellerproduction - 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-actionTjek 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!
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
- Introduktion til GitHub Actions
- Opbygning af CI/CD-workflows
- Brugerdefinerede Actions og Marketplace
- Secrets og miljøvariabler i Actions