{"meta":{"title":"Управление кэшами","intro":"Вы можете отслеживать, фильтровать и удалять кэши зависимостей, созданные в рабочих процессах.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/how-tos","title":"Инструкции"},{"href":"/ru/actions/how-tos/manage-workflow-runs","title":"Управление запусками рабочего процесса"},{"href":"/ru/actions/how-tos/manage-workflow-runs/manage-caches","title":"Управление кэшами"}],"documentType":"article"},"body":"# Управление кэшами\n\nВы можете отслеживать, фильтровать и удалять кэши зависимостей, созданные в рабочих процессах.\n\nВ этой статье описывается управление кэшами с GitHub помощью веб-интерфейса, но вы также можете управлять ими:\n\n* используете REST API; См [. раздел AUTOTITLE](/ru/rest/actions/cache).\n* `gh cache` С подкоманда из командной строки. См. документацию[ по интерфейсу командной ](https://cli.github.com/manual/gh_cache)строки GitHub.\n\n## Просмотр записей кэша\n\nВеб-интерфейс можно использовать для просмотра списка записей кэша для репозитория. В списке кэша можно увидеть, сколько дискового пространства используется каждый кэш, когда кэш был создан, а также время последнего использования кэша.\n\n1. На GitHubперейдите на главную страницу репозитория.\n2. Под именем репозитория щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Снимок экрана: вкладки для репозитория github/docs. Вкладка \"Действия\" выделена оранжевым контуром.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. В левой боковой панели в разделе \"Управление\" щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-cache\" aria-label=\"cache\" role=\"img\"><path d=\"M2.5 5.724V8c0 .248.238.7 1.169 1.159.874.43 2.144.745 3.62.822a.75.75 0 1 1-.078 1.498c-1.622-.085-3.102-.432-4.204-.975a5.565 5.565 0 0 1-.507-.28V12.5c0 .133.058.318.282.551.227.237.591.483 1.101.707 1.015.447 2.47.742 4.117.742.406 0 .802-.018 1.183-.052a.751.751 0 1 1 .134 1.494C8.89 15.98 8.45 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.619-1.579-1.041-.408-.425-.7-.964-.7-1.59v-9c0-.626.292-1.165.7-1.591.406-.42.956-.766 1.579-1.04C4.525.32 6.195 0 8 0c1.806 0 3.476.32 4.721.869.623.274 1.173.619 1.579 1.041.408.425.7.964.7 1.59 0 .626-.292 1.165-.7 1.591-.406.42-.956.766-1.578 1.04C11.475 6.68 9.805 7 8 7c-1.805 0-3.475-.32-4.721-.869a6.15 6.15 0 0 1-.779-.407Zm0-2.224c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 5.205 6.353 5.5 8 5.5c1.646 0 3.101-.295 4.118-.742.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55 0-.133-.058-.318-.282-.551-.227-.237-.591-.483-1.101-.707C11.102 1.795 9.647 1.5 8 1.5c-1.646 0-3.101.295-4.118.742-.508.224-.873.471-1.1.708-.224.232-.282.417-.282.55Z\"></path><path d=\"M14.49 7.582a.375.375 0 0 0-.66-.313l-3.625 4.625a.375.375 0 0 0 .295.606h2.127l-.619 2.922a.375.375 0 0 0 .666.304l3.125-4.125A.375.375 0 0 0 15.5 11h-1.778l.769-3.418Z\"></path></svg> Caches**.\n4. Просмотрите список записей кэша для репозитория.\n\n   * Чтобы найти записи кэша, используемые для определенной ветви, щелкните **раскрывающееся меню \"Ветвь** \" и выберите ветвь. В списке кэша отображаются все кэши, используемые для выбранной ветви.\n   * Чтобы найти записи кэша с определенным ключом кэша, используйте синтаксис `key: key-name` в **поле \"Кэши** фильтров\". В списке кэшей будут отображаться кэши из всех ветвей, где использовался ключ.\n\n   ![Снимок экрана: список записей кэша.](/assets/images/help/repository/actions-cache-entry-list.png)\n\n## Удаление записей кэша\n\nПользователи с `write` доступом GitHub к репозиторию могут использовать веб-интерфейс для удаления записей кэша.\n\n1. На GitHubперейдите на главную страницу репозитория.\n2. Под именем репозитория щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Снимок экрана: вкладки для репозитория github/docs. Вкладка \"Действия\" выделена оранжевым контуром.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n3. В левой боковой панели в разделе \"Управление\" щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-cache\" aria-label=\"cache\" role=\"img\"><path d=\"M2.5 5.724V8c0 .248.238.7 1.169 1.159.874.43 2.144.745 3.62.822a.75.75 0 1 1-.078 1.498c-1.622-.085-3.102-.432-4.204-.975a5.565 5.565 0 0 1-.507-.28V12.5c0 .133.058.318.282.551.227.237.591.483 1.101.707 1.015.447 2.47.742 4.117.742.406 0 .802-.018 1.183-.052a.751.751 0 1 1 .134 1.494C8.89 15.98 8.45 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.619-1.579-1.041-.408-.425-.7-.964-.7-1.59v-9c0-.626.292-1.165.7-1.591.406-.42.956-.766 1.579-1.04C4.525.32 6.195 0 8 0c1.806 0 3.476.32 4.721.869.623.274 1.173.619 1.579 1.041.408.425.7.964.7 1.59 0 .626-.292 1.165-.7 1.591-.406.42-.956.766-1.578 1.04C11.475 6.68 9.805 7 8 7c-1.805 0-3.475-.32-4.721-.869a6.15 6.15 0 0 1-.779-.407Zm0-2.224c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 5.205 6.353 5.5 8 5.5c1.646 0 3.101-.295 4.118-.742.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55 0-.133-.058-.318-.282-.551-.227-.237-.591-.483-1.101-.707C11.102 1.795 9.647 1.5 8 1.5c-1.646 0-3.101.295-4.118.742-.508.224-.873.471-1.1.708-.224.232-.282.417-.282.55Z\"></path><path d=\"M14.49 7.582a.375.375 0 0 0-.66-.313l-3.625 4.625a.375.375 0 0 0 .295.606h2.127l-.619 2.922a.375.375 0 0 0 .666.304l3.125-4.125A.375.375 0 0 0 15.5 11h-1.778l.769-3.418Z\"></path></svg> Caches**.\n4. Справа от записи кэша, которую вы хотите удалить, щелкните <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-trash\" aria-label=\"Delete cache\" role=\"img\"><path d=\"M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z\"></path></svg>.\n\n   ![Снимок экрана: список записей кэша. Значок корзины, используемый для удаления кэша, выделен темным оранжевым контуром.](/assets/images/help/repository/actions-cache-delete.png)\n\n## Принудительное удаление записей кэша\n\nКэши имеют ограничения области ветви, что означает, что некоторые кэши имеют ограниченные параметры использования. Дополнительные сведения об ограничениях области кэша см. в разделе [Справочник по кэшированию зависимостей](/ru/actions/reference/workflows-and-actions/dependency-caching). Если кэши, ограниченные определенной ветвью, используют большую квоту хранилища, это может привести к созданию и удалению кэшей из `default` ветви с высокой частотой.\n\nНапример, репозиторий может открывать множество новых запросов на вытягивание, каждый из которых содержит собственные кэши, ограниченные этой ветвью. Эти кэши могут занять большую часть хранилища кэша для этого репозитория.\nПосле достижения максимального хранилища кэша политика вытеснения кэша создаст пространство, удалив кэши в порядке последней даты доступа, начиная с последней до последней. Чтобы предотвратить регулирование кэша при этом, можно настроить рабочие процессы для удаления кэшей быстрее, чем политика вытеснения кэша. Можно использовать GitHub CLI для удаления кэшей для определенных ветвей.\n\nВ следующем примере рабочий процесс используется `gh cache` для удаления до 100 кэшей, созданных ветвью после закрытия запроса на вытягивание.\n\nЧтобы запустить следующий пример в запросах на вытягивание между репозиториями или запросах на вытягивание из вилок, можно активировать рабочий процесс с событием `pull_request_target` . Если вы используете `pull_request_target` для активации рабочего процесса, следует учитывать вопросы безопасности. Дополнительные сведения см. в разделе [События, инициирующие рабочие процессы](/ru/actions/reference/workflows-and-actions/events-that-trigger-workflows#pull_request_target).\n\n```yaml\nname: Cleanup github runner caches on closed pull requests\non:\n  pull_request:\n    types:\n      - closed\n\njobs:\n  cleanup:\n    runs-on: ubuntu-latest\n    permissions:\n      actions: write\n    steps:\n      - name: Cleanup\n        run: |\n          echo \"Fetching list of cache keys\"\n          cacheKeysForPR=$(gh cache list --ref $BRANCH --limit 100 --json id --jq '.[].id')\n\n          ## Setting this to not fail the workflow while deleting cache keys.\n          set +e\n          echo \"Deleting caches...\"\n          for cacheKey in $cacheKeysForPR\n          do\n              gh cache delete $cacheKey\n          done\n          echo \"Done\"\n        env:\n          GH_TOKEN: ${{ github.token }}\n          GH_REPO: ${{ github.repository }}\n          BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge\n```\n\nКроме того, вы можете использовать API для автоматического перечисления или удаления всех кэшей в собственном темпе. Дополнительные сведения см. в разделе [Конечные точки REST API для кэша GitHub Actions](/ru/rest/actions/cache#about-the-cache-in-github-actions)."}