CodeCommit ja CodeBuild
Integroikaa AWS CodeCommit lähdekoodin hallintaan ja AWS CodeBuild palvelimettoman koodin kääntämiseen ja paketointiin
CodeCommit ja CodeBuild on ilmainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunti CoddyKitissä. Tämä on oppitunti 1/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 Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.
CI/CD palvelimettomille sovelluksille – johdanto
Tervetuloa palvelimettomien sovellusten CI/CD-kurssin ensimmäiselle oppitunnille! Jatkuva integraatio ja jatkuva toimitus (CI/CD) ovat ratkaisevan tärkeitä nykyaikaisessa ohjelmistokehityksessä.
Tällä oppitunnilla tutustumme kahteen AWS:n keskeiseen palveluun: AWS CodeCommitiin lähdekoodin hallintaa varten ja AWS CodeBuildiin palvelimettoman koodinne kääntämistä ja paketoimista varten.
Mikä AWS CodeCommit on
AWS CodeCommit on täysin hallinnoitu lähdekoodinhallintapalvelu, joka isännöi suojattuja Git-pohjaisia repositorioita. Sitä voi ajatella AWS:n versiona GitHubista tai GitLabista, mutta se on tiiviisti integroitu muihin AWS-palveluihin.
- Se on yksityinen: Koodinne pysyy AWS:n sisällä.
- Se skaalautuu: Se käsittelee kaikenkokoisia projekteja.
- Se on Git-yhteensopiva: Voitte käyttää nykyisiä Git-työkalujanne ja -työnkulkujanne.
Se toimii sovelluksenne lähdekoodin keskitettynä keskuksena.
CodeCommit-repositorion määrittäminen
Aloittaaksenne CodeCommitin käytön Teidän on ensin luotava repositorio. Voitte tehdä sen AWS Management Consolen, AWS CLI:n tai SDK:iden avulla.
Kun repositorio on luotu, määritätte paikallisen Git-asiakasohjelmanne muodostamaan siihen yhteyden. Tämä edellyttää usein IAM-tunnistetietojen (HTTPS Git -tunnistetietojen) tai SSH-avainten määrittämistä todentamista varten.
Koodin kloonaaminen ja lähettäminen
Kun tunnistetiedot on määritetty, voitte kloonata CodeCommit-repositorion paikalliselle koneellenne ja lähettää muutoksia aivan kuten mihin tahansa muuhun Git-repositorioon.
Tässä on käyttämienne komentojen perusjärjestys:
git clone https://git-codecommit.us-east-1.amazonaws.com/v1/repos/MyServerlessRepo
cd MyServerlessRepo
echo "print('Hello CI/CD!')" > app.py
git add app.py
git commit -m "Initial commit for Lambda function"
git push origin mainMikä AWS CodeBuild on
AWS CodeBuild on täysin hallinnoitu jatkuvan integraation palvelu, joka kääntää lähdekoodinne, suorittaa testit ja tuottaa käyttöönotettavia ohjelmistopaketteja. Se poistaa tarpeen omien build-palvelimien varaamiseen, hallintaan ja skaalaamiseen.
- Palvelimia ei tarvitse hallita: AWS huolehtii infrastruktuurista.
- Skaalautuu automaattisesti: Koontiversiot suoritetaan rinnakkain ja niitä skaalataan tarpeen mukaan.
- Maksu käytön mukaan: Maksatte vain käytetystä laskenta-ajasta.
Buildspec-tiedosto
CodeBuild-projektin ydin on buildspec.yml-tiedosto. Tämä YAML-tiedosto määrittää komennot ja toiminnot, jotka CodeBuild suorittaa koonnin aikana.
Siinä määritetään koontikomennot, artefaktien (tulosteiden) määritykset ja välimuistin käyttöohjeet. Tiedosto sijoitetaan lähdekoodirepositorion juureen.
Buildspec-tiedoston rakenne
buildspec.yml on järjestetty vaiheisiin:
- install: Asenna riippuvuudet.
- pre_build: Koontia edeltävät komennot (esimerkiksi kirjautuminen Dockeriin).
- build: Varsinaiset koontikomennot (esimerkiksi koodin kääntäminen ja testien suorittaminen).
- post_build: Koontia seuraavat komennot (esimerkiksi artefaktien paketointi).
Tässä on yksinkertainen esimerkki Pythonilla toteutetulle Lambda-funktiolle:
version: 0.2
phases:
install:
commands:
- echo "Installing dependencies..."
- pip install --upgrade pip
- pip install -r requirements.txt -t package/
build:
commands:
- echo "Zipping deployment package..."
- cd package
- zip -r ../function.zip .
- cd ..
- zip -g function.zip app.py
artifacts:
files:
- function.zip
discard-paths: yesCodeBuild-projektin luominen
Käyttääksenne CodeBuildia luotte build-projektin. Tämä sisältää seuraavat vaiheet:
- Lähde: Määritä lähdekoodirepositorio (esimerkiksi CodeCommit).
- Ympäristö: Valitse käyttöjärjestelmä, runtime ja laskentatyyppi.
- Buildspec: Määritä
buildspec.yml-tiedosto. - Artefaktit: Määritä, minne koonnin tulokset tallennetaan (esimerkiksi S3-säilöön).
Lisäksi määritätte CodeBuildille IAM-roolin, joka antaa sille käyttöoikeudet lähdekoodiinne, S3:een ja muihin tarvittaviin AWS-palveluihin.
CodeCommitin ja CodeBuildin työnkulku
Tyypillinen jatkuvan integraation työnkulku näitä palveluja käytettäessä on seuraava:
- Kehittäjä lähettää koodimuutokset AWS CodeCommit -repositorioonsa.
- CodeCommit voi käynnistää AWS CodeBuild -projektin automaattisesti (usein CodePipelinen kautta, johon tutustumme seuraavaksi).
- CodeBuild noutaa uusimman koodin ja suorittaa
buildspec.yml-tiedostossa määritetyt komennot. - CodeBuild tuottaa artefaktit (kuten pakatun Lambda-funktion) ja tallentaa ne S3-säilöön käyttöönottoa varten.
Pikatarkistus
Olette juuri oppineet CodeCommitista ja CodeBuildista. Testataan ymmärrystänne!
Yhteenveto ja seuraavat vaiheet
Hienoa työtä! Tällä oppitunnilla opitte seuraavat asiat:
- AWS CodeCommit: Hallinnoitu Git-repositoriopalvelu suojattua lähdekoodinhallintaa varten.
- AWS CodeBuild: Täysin hallinnoitu jatkuvan integraation palvelu, joka kääntää ja paketoi koodinne.
buildspec.yml-tiedoston merkitys koontivaiheiden määrittämisessä.
Nämä kaksi palvelua muodostavat palvelimettoman CI/CD-putken perustan. Seuraavaksi näemme, miten AWS CodePipeline orkestroi näitä palveluja automaattisia käyttöönottoja varten!
Opi Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla 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
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”CodeCommit ja CodeBuild” ilmainen?
Kyllä – oppitunnin ”CodeCommit ja CodeBuild” 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 Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssin, päivitä CoddyKit PROhon. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”CodeCommit ja CodeBuild”?
Integroikaa AWS CodeCommit lähdekoodin hallintaan ja AWS CodeBuild palvelimettoman koodin kääntämiseen ja paketointiin Harjoittelet Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”CodeCommit ja CodeBuild”-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ä Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunnilla?
Kyllä. Jokainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-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
- CodeCommit ja CodeBuild
- CodePipeline käyttöönottoihin
- Palvelimettomien käyttöönottojen automatisointi
- Turvalliset käyttöönotot canary-julkaisuilla ja rollbackilla