GitHub Actionsin CI/CD Reactille
Automatisoi lint-, testi-, build- ja käyttöönottovaiheet GitHub Actions -työnkulussa jokaisella pushilla.
GitHub Actionsin CI/CD Reactille on ilmainen React Academy-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu React Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. React Academy-kurssilla on yhteensä 4 oppituntia.
Mikä GitHub Actions on?
GitHub Actions on GitHubiin sisäänrakennettu CI/CD-alusta. Määritelkää YAML-tiedostoihin perustuvat työnkulut hakemistoon .github/workflows/; ne suoritetaan push-, pull request- tai ajastettujen tapahtumien yhteydessä.
Perustason CI-työnkulku
Vähimmäistyönkulku, joka asentaa riippuvuudet, suorittaa lintauksen ja testit jokaisen pushin ja pull requestin yhteydessä.
# .github/workflows/ci.yml
name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- run: npm ci
- run: npm run lint
- run: npm test -- --coveragenode_modules-välimuisti
Tallentakaa välimuistiin ~/.npm (npm:n välimuisti, ei node_modules) riippuvuuksien asennuksen nopeuttamiseksi. actions/setup-node hoitaa tämän cache-valitsimella.
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm' # caches ~/.npm based on package-lock.json hashKoontivaihe
Lisätkää testien jälkeen koontivaihe varmistaaksenne, että projekti kääntyy virheittä.
- name: Build
run: npm run build
# For Next.js — catch TypeScript errors:
- name: Type Check
run: npx tsc --noEmitJulkaisu Verceliin yhdistämisen yhteydessä
Julkaiskaa sovellus Verceliin main-haaraan tehtävien pushien yhteydessä käyttämällä työnkulussa Vercel CLI:tä.
- name: Deploy to Vercel
env:
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
run: |
npm install -g vercel
vercel pull --yes --environment=production --token=$VERCEL_TOKEN
vercel build --prod --token=$VERCEL_TOKEN
vercel deploy --prebuilt --prod --token=$VERCEL_TOKENJulkaisu S3:een yhdistämisen yhteydessä
Synkronoi koontituloste S3:een ja mitätöi CloudFront-välimuisti main-haaran onnistuneen koonnin jälkeen.
- name: Deploy to S3
if: github.ref == 'refs/heads/main'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
aws s3 sync dist/ s3://my-bucket/ --delete
aws cloudfront create-invalidation --distribution-id ${{ secrets.CF_ID }} --paths "/*"Playwrightin E2E-testit CI:ssä
Suorittakaa Playwrightin E2E-testit CI:ssä koonnin jälkeen. Asentakaa selainten binäärit erillisessä vaiheessa.
- name: Install Playwright Browsers
run: npx playwright install --with-deps chromium
- name: Run E2E Tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: failure()
with:
name: playwright-report
path: playwright-report/Rinnakkaiset matriisityöt
Käyttäkää matriisistrategiaa testien suorittamiseen rinnakkain useilla Node.js-versioilla tai eri ympäristöissä.
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}Salaisuuksien hallinta
Tallentakaa arkaluonteiset arvot (API-avaimet, julkaisutunnukset) GitHub Secrets -salaisuuksiksi (repo → Settings → Secrets). Käyttäkää niitä työnkuluissa muodossa ${{ secrets.MY_SECRET }}.
Ehdolliset vaiheet
Käyttäkää if:-ehtoja vaiheiden suorittamiseen vain tietyissä haaroissa, pull request -tapahtumissa tai aiempien vaiheiden onnistuttua.
- name: Deploy
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
run: npm run deployTilamerkit
Lisätkää README-tiedostoon koonnin tilamerkki, joka näyttää CI:n tilan yhdellä silmäyksellä.
<!-- README.md -->
Pikatarkistus
Mikä GitHub Actionsin ominaisuus suorittaa saman työn samanaikaisesti useilla määrityksillä, kuten eri Node.js-versioilla?
Kertaus
Määritelkää CI-työnkulut hakemiston .github/workflows/ YAML-tiedostoissa. Käyttäkää actions/setup-node-toimintoa yhdessä asetuksen cache: 'npm' kanssa nopeisiin asennuksiin. Lisätkää lintaus-, tyyppitarkistus-, testi- ja koontivaiheet. Julkaiskaa ehdollisesti main-haaraan tehtävien pushien yhteydessä. Tallentakaa salaisuudet GitHub Secretsiin ja käyttäkää matriisikoontia moniversiotestaukseen.
Opi React 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
- 88
- Oppitunnit
- 324
Usein kysytyt kysymykset
Onko oppitunti ”GitHub Actionsin CI/CD Reactille” ilmainen?
Kyllä – oppitunnin ”GitHub Actionsin CI/CD Reactille” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko React Academy-kurssin, päivitä CoddyKit PROhon. React Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”GitHub Actionsin CI/CD Reactille”?
Automatisoi lint-, testi-, build- ja käyttöönottovaiheet GitHub Actions -työnkulussa jokaisella pushilla. Harjoittelet React Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni React Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin React Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.
Kuinka kauan ”GitHub Actionsin CI/CD Reactille”-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ä React Academy-oppitunnilla?
Kyllä. Jokainen React Academy-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
- Julkaiseminen Verceliin: nollamääritykset ja preview-URL-osoitteet
- React-SPA:n hostaus AWS S3:ssa ja CloudFrontissa
- React/Next.js-sovelluksen Dockerisointi
- GitHub Actionsin CI/CD Reactille