DevOps-bootcamp · Oppitunti

CI/CD-työnkulkujen rakentaminen

Luokaa käytännöllisiä CI/CD-putkia, jotka rakentavat, testaavat ja julkaisevat koodinne automaattisesti pushien tai pull requestien yhteydessä.

Oppitunti 2/411 vaihetta

CI/CD-työnkulkujen rakentaminen on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Tervetuloa CI/CD:n pariin

Tässä oppitunnissa opit rakentamaan tehokkaita jatkuvan integraation (CI) ja jatkuvan toimituksen (CD) putkia GitHub Actionsin avulla.

CI/CD automatisoi ohjelmistokehitysprosessin koodimuutoksista käyttöönottoon, mikä tekee siitä nopeamman ja luotettavamman.

Miksi CI/CD on tärkeää

Miksi automaatio on niin tärkeää nykyaikaisessa ohjelmistokehityksessä?

  • Nopeampi palaute: Löydä virheet ja integrointiongelmat varhain suorittamalla testit automaattisesti.
  • Yhdenmukaiset koontiversiot: Varmista, että jokainen koontiversio noudattaa samoja vaiheita ja vähennä ”toimii minun koneellani” -ongelmia.
  • Luotettavat julkaisut: Ota uudet ominaisuudet tai korjaukset käyttöön luottavaisin mielin ja pienemmällä manuaalisten virheiden riskillä.
  • Parempi yhteistyö: Tiimit yhdistävät muutoksia usein ja sujuvasti, mikä vähentää yhdistämisristiriitoja.

GitHub Actions: keskeiset käsitteet

GitHub Actions käyttää YAML-tiedostoissa määritettyjä työnkulkuja. Nämä tiedostot sijaitsevat repositoriosi erityisessä hakemistossa: .github/workflows/.

Työnkulku määrittää sarjan töitä, ja jokainen työ sisältää vaiheita, jotka suorittavat komentoja tai käyttävät valmiita toimintoja. Näin kerrot GitHubille, mitä sen pitää tehdä!

Ensimmäisen CI-työnkulun rakentaminen

Luodaan perustason CI-työnkulku, joka käynnistyy jokaisella repositoriosi push-tapahtumalla. Se määrittää Node.js:n ja simuloi projektin koontiprosessin.

Tallenna tämä sisältö repositoriosi tiedostoksi .github/workflows/ci.yml:

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

Koontiskriptin simulointi

Työnkulun komento node build.js suorittaisi tämän kaltaisen skriptin. Skripti simuloi sovelluksen koodin kääntämistä, niputtamista tai valmistelemista.

Kokeile suorittaa se nähdäksesi tulosteen:

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

Automaattisten testien lisääminen

CI:n olennainen osa on automaattisten testien suorittaminen. Laajennetaan työnkulkua lisäämällä testivaihe riippuvuuksien asentamisen jälkeen. Jos testit epäonnistuvat, työnkulku epäonnistuu ja estää virheellisen koodin etenemisen!

Lisäämme test-vaiheen seuraavasti:

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

Testiskriptin simulointi

Tässä on yksinkertainen test.js-skripti, jonka työnkulkusi voisi suorittaa. Oikeassa projektissa käytettäisiin testikehyksiä, kuten Jestiä tai Mocha:a, mutta tämä esimerkki havainnollistaa testien suorittamisen periaatetta.

Suorita se nähdäksesi simuloidun testituloksen:

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
}

Jatkuvan käyttöönoton (CD) esittely

CI keskittyy kääntämiseen ja testaamiseen, kun taas jatkuva käyttöönotto (CD) menee askeleen pidemmälle ottamalla sovelluksesi automaattisesti käyttöön palvelimella tai pilvipalvelussa, kun kaikki CI-tarkistukset on läpäisty.

Yleisiä CD:n käynnistimiä ovat:

  • uuden Git-tunnisteen luominen, kuten v1.0.0
  • lähettäminen tiettyyn haaraan, kuten main tai production
  • GitHub-julkaisun luominen

Yksinkertainen CD-työnkulku

Tässä on työnkulku, joka käynnistyy uuden Git-tunnisteen yhteydessä ja sisältää valetun käyttöönottovaiheen. Todellisessa tilanteessa tämä vaihe olisi yhteydessä isännöintipalveluntarjoajaasi, kuten AWS:ään, Azureen tai Herokuun.

Tallenna tämä tiedostoksi .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

CI/CD-työnkulun tarkistus

Mitkä seuraavista ovat CI/CD-putkien käyttöönoton keskeisiä hyötyjä?

Kertaus: CI/CD:n rakentaminen

Olet oppinut rakentamaan vankkoja CI/CD-työnkulkuja GitHub Actionsin avulla!

  • Määrittelimme CI/CD:n ja sen hyödyt nykyaikaisessa kehitystyössä.
  • Tutustuimme GitHub Actions -työnkulun olennaiseen YAML-rakenteeseen.
  • Loimme CI-työnkulkuja projektien koontien ja testien automatisointiin.
  • Suunnittelimme tunnisteiden käynnistämän CD-työnkulun automaattisia käyttöönottoja varten.

Jatka automatisointia, jotta voit julkaista koodia nopeammin ja varmemmin!

Aloita maksutta

Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
142
Oppitunnit
568

Usein kysytyt kysymykset

Onko oppitunti ”CI/CD-työnkulkujen rakentaminen” ilmainen?

Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “CI/CD-työnkulkujen rakentaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”CI/CD-työnkulkujen rakentaminen”?

Luokaa käytännöllisiä CI/CD-putkia, jotka rakentavat, testaavat ja julkaisevat koodinne automaattisesti pushien tai pull requestien yhteydessä. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”CI/CD-työnkulkujen rakentaminen”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?

Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. GitHub Actionsin perusteet
  2. CI/CD-työnkulkujen rakentaminen
  3. Mukautetut Actionit ja Marketplace
  4. Salaisuudet ja ympäristömuuttujat Actionseissa
← Takaisin: DevOps-bootcamp