Обзор
GitHub Actions — это платформа непрерывной интеграции и непрерывной поставки (CI/CD), которая позволяет автоматизировать конвейер сборки, тестирования и развертывания. Вы можете создавать рабочие процессы, которые собирают и тестируют каждый pull-запрос в вашем репозитории, или размещать объединённые pull requests в продакшене.
GitHub Actions это выходит за рамки DevOps и позволяет запускать рабочие процессы, когда в вашем репозитории происходят другие события. Например, можно запустить рабочий процесс для автоматического добавления соответствующих меток, когда кто-то создает проблему в репозитории.
GitHub предоставляет виртуальные машины Linux, Windows и macOS для запуска ваших рабочих процессов, или вы можете размещать собственные рунеры в собственном дата-центре или облачной инфраструктуре.
Для получения дополнительной информации о введении GitHub Actions в ваш бизнес см. Знакомство с GitHub Actions для вашего предприятия.
Компоненты GitHub Actions
Вы можете настроить GitHub Actionsрабочий процесс , который запускается при возникновении события в вашем репозитории, например, при открытии pull-запроса или возникновении проблемы. Рабочий процесс содержит одно или несколько заданий, которые могут выполняться последовательно или параллельно. Каждое задание будет выполняться в собственном средстве выполнения виртуальной машины или в контейнере. Оно имеет один или несколько этапов, которые выполняют определяемый вами скрипт, или выполняют действие, которое является многократно используемым расширением для упрощения рабочего процесса.

Рабочие процессы
Рабочий процесс — это настраиваемый автоматизированный процесс, который будет выполнять одно или несколько заданий. Рабочие процессы определяются файлом YAML, возвращенным в репозиторий, и будут выполняться при активации события в репозитории. Либо их можно активировать вручную или по определенному расписанию.
Рабочие процессы определяются в каталоге .github/workflows в репозитории. Репозиторий может иметь несколько рабочих процессов, каждый из которых может выполнять различные задачи, такие как:
- Создание и тестирование запросов на вытягивание
- Развертывание приложения при каждом создании выпуска
- Добавление метки при открытии новой проблемы
Вы можете ссылаться на рабочий процесс в другом рабочем процессе. Дополнительные сведения см. в разделе Повторное использование рабочих процессов.
Дополнительные сведения см. в разделе Написание рабочих процессов.
События
**Событие — это определенное действие** в репозитории, которое активирует **выполнение рабочего процесса**. Например, активность может возникнуть, когда GitHub кто-то создаёт pull request, открывает проблему или отправляет коммит в репозиторий. Вы также можете активировать рабочий процесс для запуска по [расписанию](/actions/using-workflows/events-that-trigger-workflows#schedule), [разместив в REST API](/rest/repos/repos#create-a-repository-dispatch-event) или вручную.
Полный список событий, которые можно использовать для активации рабочих процессов, см. в статье События, которые активируют рабочие процессы.
Работы
**Задание** — это набор **шагов** в рабочем процессе, который выполняется в том же **средстве выполнения**. Каждый этап — это скрипт оболочки, который будет выполняться, или **действие**, которое будет выполняться. Этапы выполняются по порядку и зависят друг от друга. Так как каждый этап выполняется в одном средстве выполнения, данные нескольких этапов могут быть общими. Например, может быть этап, который создает приложение, за ним следует этап, который проверяет созданное приложение.
Можно настроить зависимости задания с другими заданиями; По умолчанию задания не имеют зависимостей и выполняются параллельно. Когда задание принимает зависимость от другого задания, он ожидает завершения зависимого задания перед выполнением.
Вы также можете использовать матрицу **** для выполнения одного задания несколько раз, каждая из которых имеет разные сочетания переменных, например операционных систем или языковых версий.
Например, можно настроить несколько заданий сборки для разных архитектур без зависимостей заданий и задания упаковки, зависящее от этих сборок. Задания сборки выполняются параллельно и после успешного выполнения задания упаковки.
Дополнительные сведения см. в разделе Выбор того, что делает рабочий процесс.
Действия
Действие **** — это предварительно определенный, многократно используемый набор заданий или кода, выполняющий определенные задачи в рабочем процессе, уменьшая объем повторяющегося кода, который вы записываете в файлы рабочего процесса. Действия могут выполнять такие задачи, как:
- Извлечение вашего Git-репозитория из GitHub
- Настройка правильной цепочки инструментов для среды сборки
- Настройка проверки подлинности для поставщика облачных служб
Вы можете написать свои собственные действия или найти действия для использования в своих рабочих процессах в GitHub Marketplace.
Чтобы совместно использовать действия в организации, не публикуя их в открытом доступе, можно сохранить действия во внутреннем репозитории, а затем разрешить этому репозиторию доступ к рабочим процессам GitHub Actions в других репозиториях, принадлежащих тому же или любому другому отделу в организации. Дополнительные сведения см. в разделе Совместное использование действий и рабочих процессов с вашим предприятием.
Дополнительные сведения о действиях см. в разделе Повторное выполнение автоматизации.
Средства выполнения
**Средство выполнения** — это сервер, на котором выполняются рабочие процессы при их активации. Каждый средство выполнения может выполнять одно **задание** одновременно.
GitHub предоставляет Ubuntu Linux, Microsoft Windows и macOS для запуска **ваших рабочих процессов**. Каждый рабочий процесс выполняется в новой подготовленной виртуальной машине.
GitHub Также предлагает крупное средство выполненияS, которые доступны в более крупных конфигурациях. Дополнительные сведения см. в разделе [AUTOTITLE](/actions/using-github-hosted-runners/using-larger-runners).
Если вам нужна другая операционная система или требуется определенная конфигурация оборудования, можно разместить собственные средства выполнения.
Для получения дополнительной информации о самостоятельных бегунах см. Управление локальными средствами выполнения.
Следующие шаги
GitHub Actions помогает автоматизировать практически все аспекты процессов разработки приложений. Готовы приступить к работе? Далее приведены некоторые полезные ресурсы для выполнения следующих этапов работы с GitHub Actions.
- Сведения о создании рабочего процесса GitHub Actions см. в разделе Использование шаблонов рабочих процессов.
- Сведения о рабочих процессах непрерывной интеграции (CI) см. в разделе Создание и тестирование кода.
- Сведения о создании и публикации пакетов см. в разделе Публикация пакетов.
- Сведения о развертывании проектов см. в разделе Развертывание на сторонних платформах.
- Сведения об автоматизации задач и процессов в GitHubсм. в разделе Управление работой с помощью GitHub Actions.
- Примеры, демонстрирующие более сложные функции GitHub Actions, см. в разделе Управление работой с помощью GitHub Actions. В этих подробных примерах объясняется, как протестировать код в средстве выполнения, получить доступ к GitHub CLI и использовать дополнительные функции, такие как параллелизм и матрицы тестов.
- Чтобы сертифицировать навыки в автоматизации рабочих процессов и ускорить разработку с помощью GitHub Actions, заработать сертификат GitHub Actions с GitHub Certifications. Дополнительные сведения см. в разделе О GitHub Certifications.
Дополнительные материалы
-
[AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises)