{"meta":{"title":"Средства выполнения тестов, размещенные в GitHub","intro":"GitHub предлагает размещённые виртуальные машины для запуска рабочих процессов. Виртуальная машина содержит среду инструментов, пакетов и настроек, доступных GitHub Actions для использования.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/concepts","title":"Основные понятия"},{"href":"/ru/actions/concepts/runners","title":"Средства выполнения"},{"href":"/ru/actions/concepts/runners/github-hosted-runners","title":"Средства выполнения тестов, размещенные в GitHub"}],"documentType":"article"},"body":"# Средства выполнения тестов, размещенные в GitHub\n\nGitHub предлагает размещённые виртуальные машины для запуска рабочих процессов. Виртуальная машина содержит среду инструментов, пакетов и настроек, доступных GitHub Actions для использования.\n\n## Обзор GitHub-hosted runners\n\nРаннеры — это машины, которые выполняют задачи в рабочем GitHub Actions процессе. Например, средство выполнения может клонировать репозиторий локально, установить тестовое программное обеспечение, а затем выполнить команды, которые оценивают код.\n\nGitHub предоставляет бегунов, которых можно использовать для выполнения своих задач, или вы можете [принимать своих собственных бегунов](/ru/actions/concepts/runners/self-hosted-runners). За исключением средств выполнения тестов с одним процессором, каждое средство выполнения GitHub-hosted является новой виртуальной машиной (VM), размещенной в GitHub. Single-CPU средства выполнения тестов размещаются в контейнере на общей виртуальной машине — см. [раздел AUTOTITLE](/ru/actions/reference/runners/github-hosted-runners#single-cpu-runners).\n\nКаждый модуль запуска поставляется с предустановленным приложением и другими инструментами.\nGitHub доступны раннеры с операционными системами Ubuntu Linux, Windows или macOS. Когда вы используете GitHub-hosted runner, обслуживание и модернизация машины проходят за вас.\n\nВы можете выбрать один из стандартных GitHubвариантов с размещением раннеров или, если вы на плане или, если вы на GitHub Team плане или GitHub Enterprise Cloud , например, подготовить раннер с большим количеством ядер, либо раннер с процессором GPU. Эти машины называются «крупное средство выполнения.» Для получения дополнительной информации см. [Более крупные бегуны](/ru/enterprise-cloud@latest/actions/concepts/runners/larger-runners).\n\nБолее крупные бегуны также поддерживают пользовательские образы, которые позволяют создавать и управлять собственными заранее настроенными образами виртуальных машин. Дополнительные сведения см. в [разделе Пользовательские образы](#custom-images).\n\nИспользование GitHub-hosted runners требует доступа к сети со скоростью выгрузки и загрузки не менее 70 килобит в секунду.\n\n## Образы runner\n\nGitHub поддерживает собственный набор образов виртуальных машин для стандартных размещённых раннеров. Список образов и включенных средств управляются в репозитории [`actions/runner-images`](https://github.com/actions/runner-images) .\n\n### Предварительно установленное программное обеспечение для образов, принадлежащих GitHub\n\nСредства программного обеспечения, включенные в образы, принадлежащие GitHub, обновляются еженедельно. Процесс обновления занимает несколько дней, а список предустановленного программного обеспечения в ветви `main` обновляется после завершения всего развертывания.\n\nЖурналы рабочих процессов включают ссылку на предустановленные инструменты в точном средстве выполнения. Чтобы найти эти сведения в журнале рабочего процесса, разверните раздел `Set up job`. В этом разделе разверните раздел `Runner Image`. Ссылка, следующая за `Included Software`, описывает предустановленные инструменты в средстве выполнения, которое выполняло рабочий процесс.\n\nДополнительные сведения см. в разделе [Просмотр журнала выполнения рабочего процесса](/ru/actions/how-tos/monitor-workflows/view-workflow-run-history).\n\nGitHub-Размещённые раннеры включают встроенные инструменты операционной системы по умолчанию, помимо пакетов, перечисленных в приведённых выше источниках. Например, средства выполнения Ubuntu и macOS включают `grep`, `find`, `which` и другие инструменты по умолчанию.\n\nВы также можете просмотреть счет за программное обеспечение материалов (SBOM) для каждой сборки образов запуска Windows и Ubuntu. Дополнительные сведения см. в разделе [Справочник по безопасному использованию](/ru/actions/reference/security/secure-use#reviewing-the-supply-chain-for-github-hosted-runners).\n\nДля взаимодействия с программным обеспечением, установленным в средствах выполнения, рекомендуется использовать действия. Такой подход имеет несколько преимуществ.\n\n* Как правило, действия предоставляют более гибкие функции, такие как выбор версии, возможность передачи аргументов и параметров\n* Он гарантирует, что версии инструментов, используемые в рабочем процессе, останутся неизменными независимо от обновлений программного обеспечения.\n\nЕсли вы хотите запросить какой-либо инструмент, откройте проблему в разделе [actions/runner-images](https://github.com/actions/runner-images). Этот репозиторий также содержит объявления обо всех основных обновлениях программного обеспечения для средств выполнения.\n\n> \\[!NOTE]\n>\n> * Также можно установить дополнительное программное обеспечение на GitHub-hosted runners. См [. раздел AUTOTITLE](/ru/actions/how-tos/manage-runners/github-hosted-runners/customize-runners).\n> * Несмотря на то, что вложенная виртуализация технически возможна при использовании средств выполнения, официально она не поддерживается. Любое использование вложенных виртуальных машин является экспериментальным и осуществляется на ваш страх и риск, мы не даем никаких гарантий в отношении стабильности, производительности или совместимости.\n\n### Пользовательские образы\n\nПользовательские изображения позволяют начать с GitHubпредоставленного базового образа и создать собственное изображение виртуальной машины, адаптированное под ваши рабочие процессы. С помощью пользовательских изображений вы можете:\n\n* Создавайте пользовательские образы виртуальных машин с использованием существующего синтаксиса YAML рабочего процесса.\n* Предварительно настройте среды с утвержденными инструментами, исправлениями безопасности и зависимостями перед началом рабочих процессов.\n* Создавайте согласованные, проверенные базовые среды для всех сборок.\n\nПользовательские образы могут включать код репозитория, образы контейнеров, двоичные файлы, сертификаты и другие зависимости для создания согласованной среды сборки в рабочих процессах. Это поможет вам получить контроль над цепочкой поставок. Они помогают сократить время настройки, повысить производительность сборки и повысить безопасность за счет уменьшения вектора поверхностной атаки на изображения. Администраторы также могут применять политики для управления версиями образов, хранением и возрастом в соответствии с требованиями организации к безопасности и соответствию требованиям.\n\nПользовательские изображения можно использовать только с более крупные бегуны. Работы, использующие кастомные изображения, выставляются по тем же ставкам за минуту, что и эти бегущие. Хранение кастомных изображений оплачивается и измеряется через GitHub Actions хранение. Дополнительные сведения см. в разделе [Биллинг GitHub Actions](/ru/billing/concepts/product-billing/github-actions#custom-image-storage).\n\nЧтобы приступить к работе с пользовательскими изображениями, см. [раздел AUTOTITLE.](/ru/actions/how-tos/manage-runners/larger-runners/use-custom-images)\n\n## Облачные хосты, используемые GitHub-hosted runners\n\nGitHub размещает Linux и Windows раннеры на виртуальных машинах в Microsoft Azure с установленным приложением GitHub Actions runner. Приложение runner, размещённое на GitHub, является форком Azure Pipelines Agent. Входящие пакеты ICMP блокируются для всех виртуальных машин Azure, поэтому команды проверки связи или traceroute могут не работать.\nGitHub размещает раннеры для macOS в Azure дата-центрах.\n\n## Непрерывность рабочих процессов\n\nЕсли службы GitHub Actions временно недоступны, выполнение рабочего процесса отменяется, если он не был помещен в очередь в течение 30 минут после активации. Например, если рабочий процесс активируется и службы GitHub Actions недоступны в течение 31 минуты или дольше, выполнение рабочего процесса не будет обработано.\n\nКроме того, если запуск рабочего процесса был успешно поставлен в очередь, но не обработан GitHub-hosted runner в течение 45 минут, то очередной запуск workflow отбрасывается.\n\n## Файл `etc/hosts`\n\nGitHubразмещенных в среде runners подготавливаются с `etc/hosts` помощью файла, который блокирует сетевой доступ к различным пулам интеллектуального анализа криптовалют и вредоносным сайтам. Узлы, такие как MiningMadness.com и cpu-pool.com, перенаправляются в localhost, чтобы они не представляют значительный риск безопасности."}