Bygge CI/CD-workflows
Opprett praktiske CI/CD-pipelines som automatisk bygger, tester og distribuerer koden din ved push eller pull requests.
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.jsSimulere 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.jsSimulere 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
mainellerproduction) - 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-actionSjekk 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!
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
- Introduksjon til GitHub Actions
- Bygge CI/CD-workflows
- Egendefinerte Actions og Marketplace
- Hemmeligheter og miljøvariabler i Actions