Riippuvuuksien välimuistitus koontien nopeuttamiseksi
Nopeuttakaa CI-putkia välimuistittamalla riippuvuudet ja koontituotokset actions/cache-toiminnolla, avaimilla ja restore-keys-arvoilla.
Riippuvuuksien välimuistitus koontien nopeuttamiseksi on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 4/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.
Uudelleenasennusten hinta
Useimpien CI-ajojen aika kuluu samojen riippuvuuksien lataamiseen ja asentamiseen jokaisella ajolla. Välimuisti tallentaa ne ajojen välillä, joten seuraavat koonnit voivat hyödyntää aiemmin tehtyä työtä ja putken kesto lyhenee usein huomattavasti.
cache-toiminto
GitHub tarjoaa toiminnon actions/cache. Annettakaa sille välimuistiin tallennettava polku ja välimuistimerkinnän yksilöivä avain. Osuman tapauksessa toiminto palauttaa polun; muuten se tallentaa sen työn päätyttyä.
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}Hyvän avaimen suunnittelu
Avaimen pitäisi muuttua vain silloin, kun välimuistissa olevan sisällön pitäisi muuttua. Lukitustiedoston hajautusarvon käyttäminen on ihanteellista: uusi lukitustiedosto tarkoittaa uusia riippuvuuksia, joten luodaan uusi välimuistimerkintä.
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}Palautusavaimet
restore-keys tarjoaa varalla käytettäviä etuliitteitä. Jos tarkkaa avainta ei löydy, toiminto palauttaa uusimman välimuistin, jonka avain alkaa jollakin etuliitteellä, ja tarjoaa näin osittain valmiin lähtötilanteen.
restore-keys: |
${{ runner.os }}-npm-Välimuistiosuma ja välimuistihuti
Kun avain täsmää täsmälleen, syntyy välimuistiosuma ja polku palautetaan. Hutin tapauksessa työ suoritetaan normaalisti ja välimuisti tallennetaan lopuksi ensisijaisella avaimella seuraavaa käyttökertaa varten.
Sisäänrakennettu välimuistituki asetustoiminnoissa
Kielten asetustoiminnoissa on sisäänrakennettu välimuistituki. Nodessa setup-node yhdessä asetuksen cache: npm kanssa huolehtii riippuvuuksien välimuistista puolestanne, joten erillistä välimuistivaihetta ei tarvita.
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npmMitä välimuistitetaan
Välimuistittakaa pakettienhallinnan lataushakemistot, älkää mahdollisuuksien mukaan asennettua node_modules-hakemistoa, koska latausvälimuistit ovat siirrettäviä ja asennusvaihe tarkistaa silti eheyden.
- Node:
~/.npm - Python: pip-välimuisti
- Java:
~/.m2tai Gradle-välimuistit
Välimuistin laajuus ja rajoitukset
Välimuistit rajataan haaraan, ja oletushaaraan voidaan tarvittaessa palautua. Repositoriossa on myös välimuistin kokorajoitus. Käyttämättömät välimuistit poistetaan ajan mittaan, joten suunnitelkaa avaimet niin, että vanhat merkinnät poistuvat hallitusti.
Vanhentuneiden välimuistien välttäminen
Jos avaimenne ei koskaan muutu, saatatte tarjota vanhentuneita riippuvuuksia. Sitokaa avain aina lukitustiedoston hajautusarvoon, jotta päivitykset mitätöivät välimuistin automaattisesti.
Matriisi ja käyttöjärjestelmä avaimissa
Kun koonnit suoritetaan matriisina eri käyttöjärjestelmillä tai versioilla, sisällyttäkää runner.os ja versio avaimeen. Näin kukin muunnelma saa oman oikean välimuistinsa eivätkä ne sekoitu keskenään.
key: ${{ runner.os }}-node20-${{ hashFiles('package-lock.json') }}Hyödyn mittaaminen
Verratkaa töiden kestoja ennen välimuistia ja sen jälkeen ja seuratkaa lokien välimuistiosumailmaisinta. Jatkuvasti pieni osumaprosentti kertoo, että avain muuttuu liian usein.
Pikatarkistus
Testatkaa, miten hyvin ymmärrätte riippuvuuksien välimuistituksen.
Kertaus
Nopeutitte CI:tä riippuvuuksien välimuistituksella: käytitte actions/cache-toimintoa, lukitustiedoston hajautusarvoon perustuvaa avainta ja restore-keys-varavaihtoehtoa, hyödynsitte asetustoimintojen sisäänrakennettua välimuistitusta, valitsitte välimuistiin tallennettavat kohteet, sisällytititte käyttöjärjestelmän ja version matriisiavaimiin ja vältitte vanhentuneet välimuistit sitomalla avaimen lukitustiedostoon.
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 ”Riippuvuuksien välimuistitus koontien nopeuttamiseksi” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Riippuvuuksien välimuistitus koontien nopeuttamiseksi”. 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 ”Riippuvuuksien välimuistitus koontien nopeuttamiseksi”?
Nopeuttakaa CI-putkia välimuistittamalla riippuvuudet ja koontituotokset actions/cache-toiminnolla, avaimilla ja restore-keys-arvoilla. 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 4/4.
Kuinka kauan ”Riippuvuuksien välimuistitus koontien nopeuttamiseksi”-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
- Työnkulkujen käynnistimet ja tapahtumat
- Testien suorittaminen GitHub Actionsilla
- Linttaus ja koodin laatutarkistukset
- Riippuvuuksien välimuistitus koontien nopeuttamiseksi