GitHub Actions로 캐시 관리하기
GitHub Actions로 캐시 관리하기 (Cache management with GitHub Actions)
이 페이지는 GitHub Actions에서 캐시 스토리지 백엔드를 사용하는 예시를 다뤄요. 캐시 스토리지 백엔드에 대한 자세한 내용은 Cache storage backends 문서를 참고해요.
출처: 문서
본문
인라인 캐시 (Inline cache)
registry 캐시 예시처럼 옵션을 사용해 inline 캐시를 쓸 수 있어요:
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Build and push
uses: docker/build-push-action@v7
with:
push: true
tags: user/app:latest
cache-from: type=registry,ref=user/app:latest
cache-to: type=inline
레지스트리 캐시 (Registry cache)
registry 캐시 익스포터로 레지스트리의 캐시 매니페스트나 (특수) 이미지 구성에서 캐시를 가져오거나 내보낼 수 있어요:
name: ci
on:
push:
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Login to Docker Hub
uses: docker/login-action@v4
# ...
- name: Build and push
uses: docker/build-push-action@v7
with:
push: true
tags: user/app:latest
cache-from: type=registry,ref=user/app:latest
cache-to: type=registry,ref=user/app:cache,mode=max
GitHub Actions 캐시 (GitHub Actions cache)
type=gha 백엔드를 쓰면 GitHub Actions가 제공하는 캐시에 직접 캐시를 저장할 수 있어요:
- name: Build and push
uses: docker/build-push-action@v7
with:
push: true
tags: user/app:latest
cache-from: type=gha
cache-to: type=gha,mode=max
각 백엔드의 세부 옵션은 해당 캐시 백엔드 문서를 참고해요.