GitHub Actions에서 극작가 바이너리 캐싱

저는 항상 Playwright를 즐겨 사용했지만 바이너리가 다운로드될 때까지 기다리고 싶지는 않았습니다. 이 작업 속도를 높이기 위해 몇 가지 다른 전략을 시도했지만 내가 결정한 것은 GitHub Actions에서 바이너리를 캐시하는 것입니다.

바이너리를 캐싱할 때 겪었던 주요 문제는 바이너리를 쉽게 캐싱할 수 있지만 존재하지 않는 경우 운영 체제 종속성도 설치해야 한다는 것입니다. 핵심 비트는 내 GitHub 워크플로의 다음 단계에 있습니다.

- uses: actions/cache@v2
  id: playwright-cache
  with:
    path: |
      ~/.cache/ms-playwright
    key: ${{ runner.os }}-playwright-${{ hashFiles('**/package-lock.json') }}
- run: npm ci
- run: npx playwright install --with-deps
  if: steps.playwright-cache.outputs.cache-hit != 'true'
- run: npx playwright install-deps
  if: steps.playwright-cache.outputs.cache-hit == 'true'


그리고 그것은 작동합니다! 🎉



이 작업을 제대로 수행하지 않으면 다음 오류가 발생할 수 있습니다.

Host system is missing dependencies to run browsers.





캐싱 없이 빌드하는 데 1분 43초가 걸렸습니다. 캐싱을 사용하지만 여전히 호스트 종속성을 설치하는 경우 시간은 45초에 캐시 로드/저장에 약 17초가 추가되어 모든 빌드에 대해 약 40초가 단축되었습니다.

좋은 웹페이지 즐겨찾기