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 CI/CD GitHub Actionsilla ja DevOps-putket-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 CI/CD GitHub Actionsilla ja DevOps-putket-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. CI/CD GitHub Actionsilla ja DevOps-putket-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 CI/CD GitHub Actionsilla ja DevOps-putket 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 ”Riippuvuuksien välimuistitus koontien nopeuttamiseksi” ilmainen?
Kyllä – oppitunnin ”Riippuvuuksien välimuistitus koontien nopeuttamiseksi” 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 CI/CD GitHub Actionsilla ja DevOps-putket-kurssin, päivitä CoddyKit PROhon. CI/CD GitHub Actionsilla ja DevOps-putket-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 CI/CD GitHub Actionsilla ja DevOps-putket-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni CI/CD GitHub Actionsilla ja DevOps-putket-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin CI/CD GitHub Actionsilla ja DevOps-putket-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ä CI/CD GitHub Actionsilla ja DevOps-putket-oppitunnilla?
Kyllä. Jokainen CI/CD GitHub Actionsilla ja DevOps-putket-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