GitHub Actions에서 워크플로 속도를 높이는 종속성 캐싱

4638 단어 nodedevopsgithub
워크플로를 더 빠르고 효율적으로 만들기 위해 종속성 및 기타 일반적으로 재사용되는 파일에 대한 캐시를 만들고 사용할 수 있습니다.

캐싱 워크플로 종속성 정보



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로 작업을 빌드하는 방법 알아보기

02:02

좋은 웹페이지 즐겨찾기