Skip to main content

Сведения о настраиваемых действиях

Действия — это отдельные задачи, которые можно совместить, чтобы создавать задачи и настраивать рабочие процессы разработки. Вы можете создавать собственные действия или использовать и настраивать действия, которые предоставляются сообществом GitHub.

Сведения о настраиваемых действиях

Вы можете создавать действия путем написания специального кода, взаимодействующего с репозиторием любым желательным вам способом, включая интеграцию с API-интерфейсами GitHub и любым общедоступным сторонним API. Например, действие может публиковать модули NPM, отправлять SMS-оповещения при возникновении неотложных проблем или развертывать готовый код.

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

Действия можно выполнять непосредственно на компьютере или в контейнере Docker. Вы можете определить входные и выходные данные, а также переменные среды для действия.

Типы действий

Примечание.

Вы можете создавать контейнер Docker, JavaScript и составные действия. Действия требуют файла метаданных для определения входных, выходных данных и запуска конфигурации для действия. Файлы метаданных действия используют синтаксис YAML, а имя файла метаданных должно быть либо action.yml action.yaml. Предпочтительный формат — action.yml.

ТипLinuxmacOSWindows
Контейнер Docker
JavaScript
Составные действия

Действия контейнера Docker

Контейнеры Docker упаковывают среду с помощью кода GitHub Actions. Это создает более согласованную и надежную единицу работы, так как потребителю действия не нужно беспокоиться о средствах или зависимостях.

Контейнер Docker позволяет использовать определенные версии операционной системы, зависимостей, средств и кода. Для действий, которые должны выполняться в определенной конфигурации среды, Docker является оптимальным вариантом, так как позволяет настроить операционную систему и средства. Из-за задержки при создании и извлечении контейнера действия контейнера Docker выполняются медленнее, чем действия JavaScript.

Действия контейнера Docker могут выполняться только в средствах выполнения с операционной системой Linux. В локальных средствах выполнения должна использоваться операционная система Linux и должен быть установлен Docker для выполнения действий с контейнерами Docker. Дополнительные сведения о требованиях локальных средств выполнения см. в разделе Локальные средства выполнения тестов.

Действия JavaScript

Действия JavaScript могут выполняться непосредственно на компьютере со средством выполнения тестов и отделять код действия от среды, используемой для выполнения такого кода. Использование действия JavaScript упрощает код действия и позволяет ему выполняться быстрее действия контейнера Docker.

Чтобы обеспечить совместимость действий JavaScript со всеми средствами выполнения, размещенными в GitHub (Ubuntu, Windows и macOS), упакованный код JavaScript должен быть чистым JavaScript без зависимостей от других двоичных файлов. Действия JavaScript запускаются непосредственно в средстве выполнения и используют двоичные файлы, которые уже существуют в образе средства выполнения тестов.

Если вы разрабатываете проект Node.js, набор средств GitHub Actions предоставляет пакеты, которые можно использовать в проекте для ускорения разработки. Дополнительные сведения см. в репозитории actions/toolkit.

Составные действия

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

Следующие шаги

Сведения об управлении пользовательскими действиями см. в разделе Управление пользовательскими действиями.