{"meta":{"title":"Сведения о настраиваемых действиях","intro":"Действия — это отдельные задачи, которые можно совместить, чтобы создавать задачи и настраивать рабочие процессы разработки. Вы можете создавать собственные действия или использовать и настраивать действия, общие сообществом GitHub .","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/ru/enterprise-cloud@latest/actions/concepts","title":"Основные понятия"},{"href":"/ru/enterprise-cloud@latest/actions/concepts/workflows-and-actions","title":"Рабочие процессы и действия"},{"href":"/ru/enterprise-cloud@latest/actions/concepts/workflows-and-actions/custom-actions","title":"Настраиваемые действия"}],"documentType":"article"},"body":"# Сведения о настраиваемых действиях\n\nДействия — это отдельные задачи, которые можно совместить, чтобы создавать задачи и настраивать рабочие процессы разработки. Вы можете создавать собственные действия или использовать и настраивать действия, общие сообществом GitHub .\n\n## Сведения о настраиваемых действиях\n\nВы можете создавать действия, написав пользовательский код, взаимодействующий с репозиторием любым способом, который вы хотите, включая интеграцию с GitHubAPI-интерфейсами и любым общедоступным сторонним API. Например, действие может публиковать модули NPM, отправлять SMS-оповещения при возникновении неотложных проблем или развертывать готовый код.\n\nВы можете написать собственные действия для использования в рабочем процессе или предоставить общий доступ к действиям, которые вы создаете с сообществом GitHub . Чтобы можно было делиться созданными действиями с остальными пользователями, ваш репозиторий должен быть общедоступным.\nЧтобы совместно использовать действия только в пределах предприятия, репозиторий должен быть внутренним.\n\nДействия можно выполнять непосредственно на компьютере или в контейнере Docker. Вы можете определить входные и выходные данные, а также переменные среды для действия.\n\n## Типы действий\n\n> \\[!NOTE]\n> Вы можете создавать контейнер Docker, JavaScript и составные действия. Действия требуют файла метаданных для определения входных, выходных данных и запуска конфигурации для действия. Файлы метаданных действия используют синтаксис YAML, а имя файла метаданных должно быть либо `action.yml` `action.yaml`. Предпочтительный формат — `action.yml`.\n\n<div class=\"ghd-tool rowheaders\">\n\n| Тип                | Linux                                                                                                                                                                                                                                                                                                                    | macOS                                                                                                                                                                                                                                                                                                                                                                                                                               | Windows                                                                                                                                                                                                                                                                                                                                                                                                                             |\n| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Контейнер Docker   | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not supported\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-x\" aria-label=\"Not supported\" role=\"img\"><path d=\"M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z\"></path></svg> |\n| JavaScript         | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            |\n| Составные действия | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg> | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            | <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-check\" aria-label=\"Supported\" role=\"img\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"></path></svg>                                                                                                            |\n\n</div>\n\n### Действия контейнера Docker\n\nКонтейнеры Docker упаковывают среду с GitHub Actions кодом. Это создает более согласованную и надежную единицу работы, так как потребителю действия не нужно беспокоиться о средствах или зависимостях.\n\nКонтейнер Docker позволяет использовать определенные версии операционной системы, зависимостей, средств и кода. Для действий, которые должны выполняться в определенной конфигурации среды, Docker является оптимальным вариантом, так как позволяет настроить операционную систему и средства. Из-за задержки при создании и извлечении контейнера действия контейнера Docker выполняются медленнее, чем действия JavaScript.\n\nДействия контейнера Docker могут выполняться только в средствах выполнения с операционной системой Linux. В локальных средствах выполнения должна использоваться операционная система Linux и должен быть установлен Docker для выполнения действий с контейнерами Docker. Дополнительные сведения о требованиях локальных средств выполнения см. в разделе [Справочник по локальным запускам](/ru/enterprise-cloud@latest/actions/reference/runners/self-hosted-runners#requirements-for-self-hosted-runner-machines).\n\n### Действия JavaScript\n\nДействия JavaScript могут выполняться непосредственно на компьютере со средством выполнения тестов и отделять код действия от среды, используемой для выполнения такого кода. Использование действия JavaScript упрощает код действия и позволяет ему выполняться быстрее действия контейнера Docker.\n\nЧтобы обеспечить совместимость действий JavaScript со всеми средствами выполнения, размещенными в GitHub (Ubuntu, Windows и macOS), упакованный код JavaScript должен быть чистым JavaScript без зависимостей от других двоичных файлов. Действия JavaScript запускаются непосредственно в средстве выполнения и используют двоичные файлы, которые уже существуют в образе средства выполнения тестов.\n\nЕсли вы разрабатываете проект Node.js, набор GitHub Actions средств предоставляет пакеты, которые можно использовать в проекте для ускорения разработки. Дополнительные сведения см. в репозитории [actions/toolkit](https://github.com/actions/toolkit).\n\n### Составные действия\n\n*Составное* действие позволяет сочетать несколько шагов рабочего процесса в одном действии. Например, с помощью этой функции можно объединить несколько команд выполнения в действие, а затем использовать рабочий процесс, который выполняет такие объединенные команды за один шаг с помощью этого действия. Чтобы просмотреть пример, ознакомьтесь с [autoTITLE](/ru/enterprise-cloud@latest/actions/tutorials/create-actions/create-a-composite-action).\n\n## Следующие шаги\n\nСведения об управлении пользовательскими действиями см. в разделе [Управление пользовательскими действиями](/ru/enterprise-cloud@latest/actions/how-tos/create-and-publish-actions/manage-custom-actions)."}