Caching Package and Dependency Files
1) Caching Package & Dependency Files
- uses: ruby/setup-ruby@v1 with: bundler-cache: true
Kullanım Örneği,
name: Simple 2-Job Cache Example
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out
uses: actions/checkout@v3
- name: Cache Build Output
id: build-cache
uses: actions/cache@v4
with:
path: dist
key: ${{ runner.os }}-dist
# 1) "dist" klasörünü "runner.os-dist" anahtarıyla sakla veya geri yükle.
# Cache varsa "cache-hit" => "true", yoksa "false" döner.
- name: Dist is already cached (skip build)
if: steps.build-cache.outputs.cache-hit == 'true'
run: echo "dist folder is found in cache, skipping build."
# 2a) Cache bulunmuşsa, bu adımda sadece bilgi veriyoruz
# (burada build komutlarını atlıyoruz).
- name: Build (only if cache not found)
if: steps.build-cache.outputs.cache-hit != 'true'
run: |
echo "No dist cache found. Installing and building..."
npm install
npm run build
# 2b) Cache yoksa (cache-hit != true), dist'i sıfırdan oluşturuyoruz.
deploy:
runs-on: ubuntu-latest
needs: build # build job’u bitmeden deploy başlamaz
steps:
- name: Check out
uses: actions/checkout@v3
- name: Restore Build Output
uses: actions/cache@v4
with:
path: dist
key: ${{ runner.os }}-dist
# 3) Aynı anahtarla dist klasörü bulunursa, bu job da indirebilir.
- name: Deploy
run: echo "Deploying dist folder..."
# 4) dist klasöründeki dosyaları kullan.
# Build job’da güncel oluşturulduysa cache'e yüklendi,
# şimdi buradan geri yüklenir.Nasıl Çalışıyor?
Last updated