{"meta":{"title":"Понимание GitHub Actions","intro":"Изучите основы основных понятий и основную терминологию в GitHub Actions.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/enterprise-server@3.21/actions","title":"GitHub Actions"},{"href":"/ru/enterprise-server@3.21/actions/get-started","title":"Начало работы"},{"href":"/ru/enterprise-server@3.21/actions/get-started/understand-github-actions","title":"Разобраться в GitHub Actions"}],"documentType":"article"},"body":"# Понимание GitHub Actions\n\nИзучите основы основных понятий и основную терминологию в GitHub Actions.\n\n> \\[!NOTE]\n> GitHub Enterprise Serverразмещенные в данный момент средства выполнения не поддерживаются в GitHub.\n\n## Обзор\n\nGitHub Actions — это платформа непрерывной интеграции и непрерывной поставки (CI/CD), которая позволяет автоматизировать конвейер сборки, тестирования и развертывания. Вы можете создавать рабочие процессы, которые собирают и тестируют каждый pull-запрос в вашем репозитории, или размещать объединённые pull requests в продакшене.\n\nGitHub Actions это выходит за рамки DevOps и позволяет запускать рабочие процессы, когда в вашем репозитории происходят другие события. Например, можно запустить рабочий процесс для автоматического добавления соответствующих меток, когда кто-то создает проблему в репозитории.\n\nВы должны разместить собственные виртуальные машины на Linux, Windows или macOS, чтобы запускать рабочие процессы для ваш экземпляр GitHub Enterprise Server.\n\nДля получения дополнительной информации о введении GitHub Actions в ваш бизнес см. [Знакомство с GitHub Actions для вашего предприятия](/ru/enterprise-server@3.21/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise).\n\n## Компоненты GitHub Actions\n\nВы можете настроить GitHub Actions**рабочий процесс** , который запускается **при возникновении** события в вашем репозитории, например, при открытии pull-запроса или возникновении проблемы. Рабочий процесс содержит одно или несколько **заданий**, которые могут выполняться последовательно или параллельно. Каждое задание будет выполняться в собственном **средстве выполнения** виртуальной машины или в контейнере. Оно имеет один или несколько **этапов**, которые выполняют определяемый вами скрипт, или выполняют **действие**, которое является многократно используемым расширением для упрощения рабочего процесса.\n\n![Схема триггера события Runner 1 для запуска задания 1, которая активирует Runner 2 для запуска задания 2. Каждая из заданий разбивается на несколько шагов.](/assets/images/help/actions/overview-actions-simple.png)\n\n### Рабочие процессы\n\n**Рабочий процесс** — это настраиваемый автоматизированный процесс, который будет выполнять одно или несколько заданий. Рабочие процессы определяются файлом YAML, возвращенным в репозиторий, и будут выполняться при активации события в репозитории. Либо их можно активировать вручную или по определенному расписанию.\n\nРабочие процессы определяются в каталоге `.github/workflows` в репозитории. Репозиторий может иметь несколько рабочих процессов, каждый из которых может выполнять различные задачи, такие как:\n\n* Создание и тестирование запросов на вытягивание\n* Развертывание приложения при каждом создании выпуска\n* Добавление метки при открытии новой проблемы\n\nВы можете ссылаться на рабочий процесс в другом рабочем процессе. Дополнительные сведения см. в разделе [Повторное использование рабочих процессов](/ru/enterprise-server@3.21/actions/how-tos/reuse-automations/reuse-workflows).\n\nДополнительные сведения см. в разделе [Написание рабочих процессов](/ru/enterprise-server@3.21/actions/how-tos/write-workflows).\n\n### События\n\n**Событие — это определенное действие** в репозитории, которое активирует **выполнение рабочего процесса**. Например, активность может возникнуть, когда GitHub кто-то создаёт pull request, открывает проблему или отправляет коммит в репозиторий. Вы также можете активировать рабочий процесс для запуска по [расписанию](/ru/enterprise-server@3.21/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule), [разместив в REST API](/ru/enterprise-server@3.21/rest/repos/repos#create-a-repository-dispatch-event) или вручную.\n\nПолный список событий, которые можно использовать для активации рабочих процессов, см. в статье [События, которые активируют рабочие процессы](/ru/enterprise-server@3.21/actions/reference/workflows-and-actions/events-that-trigger-workflows).\n\n### Работы\n\n**Задание** — это набор **шагов** в рабочем процессе, который выполняется в том же **средстве выполнения**. Каждый этап — это скрипт оболочки, который будет выполняться, или **действие**, которое будет выполняться. Этапы выполняются по порядку и зависят друг от друга. Так как каждый этап выполняется в одном средстве выполнения, данные нескольких этапов могут быть общими. Например, может быть этап, который создает приложение, за ним следует этап, который проверяет созданное приложение.\n\nМожно настроить зависимости задания с другими заданиями; По умолчанию задания не имеют зависимостей и выполняются параллельно. Когда задание принимает зависимость от другого задания, он ожидает завершения зависимого задания перед выполнением.\n\nВы также можете использовать матрицу \\*\\*\\*\\* для выполнения одного задания несколько раз, каждая из которых имеет разные сочетания переменных, например операционных систем или языковых версий.\n\nНапример, можно настроить несколько заданий сборки для разных архитектур без зависимостей заданий и задания упаковки, зависящее от этих сборок. Задания сборки выполняются параллельно и после успешного выполнения задания упаковки.\n\nДополнительные сведения см. в разделе [Выбор того, что делает рабочий процесс](/ru/enterprise-server@3.21/actions/how-tos/write-workflows/choose-what-workflows-do).\n\n### Действия\n\nДействие  — это предварительно определенный, многократно используемый набор заданий или кода, выполняющий определенные задачи в **рабочем процессе**, уменьшая объем повторяющегося кода, который вы записываете в файлы **рабочего процесса**. Действия могут выполнять такие задачи, как:\n\n* Извлечение вашего Git-репозитория из GitHub\n* Настройка правильной цепочки инструментов для среды сборки\n* Настройка проверки подлинности для поставщика облачных служб\n\nВы можете написать свои собственные действия или найти действия для использования в своих рабочих процессах в GitHub Marketplace.\n\nЧтобы совместно использовать действия в организации без публикации действий публично, можно хранить действия во внутреннем репозитории, а затем настроить репозиторий, чтобы разрешить доступ к GitHub Actions рабочим процессам в других репозиториях, принадлежащих той же организации или любой организации в организации. Дополнительные сведения см. в разделе [Совместное использование действий и рабочих процессов с вашим предприятием](/ru/enterprise-server@3.21/actions/how-tos/reuse-automations/share-with-your-enterprise).\n\nДополнительные сведения о действиях см. в разделе [Повторное выполнение автоматизации](/ru/enterprise-server@3.21/actions/how-tos/reuse-automations).\n\n### Средства выполнения\n\n**Средство выполнения** — это сервер, на котором выполняются рабочие процессы при их активации. Каждый средство выполнения может выполнять одно **задание** одновременно.\n\nВы должны принимать своих собственных бегунов для GitHub Enterprise Server.\n\nДля получения дополнительной информации\nбегунах см. [Управление локальными средствами выполнения](/ru/enterprise-server@3.21/actions/how-tos/manage-runners/self-hosted-runners).\n\n## Следующие шаги\n\nGitHub Actions вы можете автоматизировать практически все аспекты процессов разработки приложений. Готовы приступить к работе? Вот несколько полезных ресурсов, чтобы сделать следующие шаги с GitHub Actions:\n\n* Сведения о создании рабочего процесса см. в GitHub Actions разделе [Использование шаблонов рабочих процессов](/ru/enterprise-server@3.21/actions/how-tos/write-workflows/use-workflow-templates).\n* Сведения о рабочих процессах непрерывной интеграции (CI) см. в разделе [Создание и тестирование кода](/ru/enterprise-server@3.21/actions/tutorials/build-and-test-code).\n* Сведения о создании и публикации пакетов см. в разделе [Публикация пакетов](/ru/enterprise-server@3.21/actions/tutorials/publish-packages).\n* Сведения о развертывании проектов см. в разделе [Развертывание на сторонних платформах](/ru/enterprise-server@3.21/actions/how-tos/deploy/deploy-to-third-party-platforms).\n* Сведения об автоматизации задач и процессов см. в GitHubразделе [Управление работой с помощью GitHub Actions](/ru/enterprise-server@3.21/actions/tutorials/manage-your-work).\n* Примеры, демонстрирующие более сложные функции GitHub Actions, см. в разделе [Выбор того, что делает рабочий процесс](/ru/enterprise-server@3.21/actions/how-tos/write-workflows/choose-what-workflows-do). В этих подробных примерах объясняется, как протестировать код в средстве выполнения, получить доступ к GitHub CLI и использовать дополнительные функции, такие как параллелизм и матрицы тестирования.\n\n## Дополнительные материалы\n\n* [О GitHub Actions для предприятий](/ru/enterprise-server@3.21/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)"}