GitHub Actions에서 워크플로 속도를 높이는 종속성 캐싱
캐싱 워크플로 종속성 정보
GitHub 워크플로 실행은 종종 한 실행에서 다른 실행으로 동일한 다운로드 종속성을 재사용합니다. 예를 들어 npm 및 Yarn과 같은 패키지 및 종속성 관리 도구는 다운로드된 종속성의 로컬 캐시를 유지합니다.
GitHub에서 호스팅하는 러너의 작업은 깨끗한 가상 환경에서 시작하고 매번 종속성을 다운로드해야 하므로 네트워크 사용률이 증가하고 런타임이 길어지며 비용이 증가합니다. GitHub는 워크플로에서 자주 사용하는 종속성을 캐시하여 이러한 파일을 다시 만드는 데 걸리는 시간을 단축할 수 있습니다.
작업에 대한 종속성을 캐시하려면 GitHub의 캐시 작업을 사용해야 합니다. 작업은 고유 키로 식별되는 캐시를 검색합니다. 자세한 내용은 작업/캐시를 참조하십시오.
행위 / 은닉처
GitHub Actions의 캐시 종속성 및 빌드 출력
캐시 작업을 사용하는 예
이 예제는 package-lock.json 파일의 패키지가 변경되거나 러너의 운영 체제가 변경될 때 새 캐시를 생성합니다. 캐시 키는 컨텍스트와 표현식을 사용하여 실행기의 운영 체제와 package-lock.json 파일의 SHA-256 해시를 포함하는 키를 생성합니다.
name: Caching with npm
on: push
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: ~/.npm
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install Dependencies
run: npm install
- name: Build
run: npm build
- name: Test
run: npm test
캐시 적중 및 캐시 제거 정책에 대해 자세히 알아보려면 GitHub 설명서를 확인하세요.
이것은 28일간의 Actions 시리즈의 일부입니다. 더 많은 GitHub 작업 팁에 대한 알림을 받으려면 여기 Dev에서 GitHub 조직을 팔로우하세요. Node.js로 작업을 빌드하는 방법 알아보기
GitHub 작업 워크플로에 대한 환경 범위 비밀
Brian Douglas ・ 2월 23일 ・ 1분 읽기
#github
#devops
Reference
이 문제에 관하여(GitHub Actions에서 워크플로 속도를 높이는 종속성 캐싱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/github/caching-dependencies-to-speed-up-workflows-in-github-actions-3efl텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)