Рубрики
Uncategorized

Кэширование зависимостей для ускорения рабочих процессов в Действиях GitHub

Чтобы сделать ваши рабочие процессы быстрее и эффективнее, вы можете создавать и использовать кэширования для зависимостей и … Помечено GitHub, DevOps, Node.

Чтобы сделать ваши рабочие процессы быстрее и эффективнее, вы можете создавать и использовать кеши для зависимостей и других общим повторно используемых файлов.

Об кэшировании рабочих процессов зависимостей

Рабочие процессы GitHub часто используют одни и те же загруженные зависимости от одного запуска к другому. Например, инструменты управления пакетами и зависимостями, такие как NPM и пряжа, хранят локальный кэш загруженных зависимостей.

Работа на Github Hosted Runners Начните в чистой виртуальной среде и должны загружать зависимости каждый раз, вызывая повышенное использование сети, более длительное время выполнения и повышенную стоимость. GitHub может кэшировать зависимости, которые вы часто используете в рабочих процессах, чтобы помочь ускорить время, необходимое для воссоздания этих файлов.

Чтобы кэшировать зависимости для работы, вам нужно использовать кэш-память GitHub. Действие извлекает кеш, идентифицированный уникальным ключом. Для получения дополнительной информации см. Действия/кэш.

Действия/кэш

Зависимости кэша и выходы сборки в действиях GitHub

Пример с использованием действия кэша

Этот пример создает новый кэш, когда пакеты в пакете-блокировке.json меняются или когда изменяется операционная система бегуна. Клавиша кэша использует контексты и выражения для генерации ключа, который включает в себя операционную систему Runner и хэш SHA-256 из файла Package-Lock.json.

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 дней серии действий. Чтобы получить уведомление о большего количества подсказки GitHub, следуйте за организацией GitHub прямо здесь на Dev. Узнайте, как строить действие с Node.js

Окружающая среда Scoped Secrets для рабочих процессов действий GitHub

Брайан Дуглас · 23 февраля · 1 мин прочитан

Оригинал: «https://dev.to/github/caching-dependencies-to-speed-up-workflows-in-github-actions-3efl»