Составные действия и публикация в Marketplace
Создавайте составные действия, объединяющие несколько шагов, правильно версионируйте их и публикуйте собственные действия в GitHub Marketplace для повторного использования
«Составные действия и публикация в Marketplace» — бесплатный урок CI/CD with GitHub Actions & DevOps Pipelines на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения CI/CD with GitHub Actions & DevOps Pipelines, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс CI/CD with GitHub Actions & DevOps Pipelines содержит 4 уроков всего.
Три вида пользовательских действий
GitHub поддерживает три способа создания пользовательского действия:
- Действия JavaScript — выполняют код Node
- Действия Docker — выполняются внутри контейнера
- Составные действия — объединяют несколько шагов рабочего процесса
Этот урок посвящён составным действиям и публикации.
Что такое составное действие
Составное действие объединяет несколько шагов выполнения и вызовы других действий в один повторно используемый блок, без написания JavaScript или сборки образа Docker.
Оно идеально подходит для сохранения повторяющейся последовательности команд оболочки.
Файл action.yml
Каждое действие определяется файлом action.yml в корневом каталоге. Для составного действия задайте runs.using значение composite.
name: Setup Project
description: Install deps and build
runs:
using: composite
steps:
- run: npm ci
shell: bash
- run: npm run build
shell: bashОболочка обязательна
Есть важное правило: в составных действиях каждый шаг run должен объявлять shell. Если забыть об этом, при создании составных действий возникает наиболее распространённая ошибка.
- run: echo 'hello'
shell: bashОпределение входных данных
Сделайте действие настраиваемым с помощью inputs. Вызывающая сторона передаёт значения через with, а Вы обращаетесь к ним как к inputs.<name>.
inputs:
node-version:
description: Node version
required: false
default: '20'
runs:
using: composite
steps:
- run: echo Using ${{ inputs.node-version }}
shell: bashОпределение выходных данных
Составное действие может возвращать выходные данные. Один из шагов записывает значение в GITHUB_OUTPUT, а действие сопоставляет его с именованным выходным параметром.
outputs:
build-id:
value: ${{ steps.gen.outputs.id }}
runs:
using: composite
steps:
- id: gen
run: echo "id=$(date +%s)" >> $GITHUB_OUTPUT
shell: bashИспользование локального действия
Вы можете обратиться к действию, хранящемуся в том же репозитории, по пути к нему. Это особенно удобно при разработке до публикации.
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-project
with:
node-version: '20'Управление версиями с помощью тегов
Опубликованные действия указываются с помощью ссылки git. Рекомендуется помечать выпуски тегами v1.0.0 и одновременно поддерживать изменяемый тег v1.
Вызывающие стороны, использующие @v1, автоматически получают обновления без критических изменений.
git tag -a v1.0.0 -m 'release'
git tag -f v1
git push --tags --forceПодготовка к публикации в маркетплейсе
Чтобы опубликовать действие в маркетплейсе GitHub, оно должно находиться в общедоступном репозитории, содержащем action.yml с полями name, description и, желательно, branding (значок и цвет).
branding:
icon: package
color: blueПубликация выпуска
На странице Releases репозитория создайте черновик выпуска для своего тега. GitHub покажет флажок Publish this Action to the Marketplace.
Примите соглашение, выберите категории и опубликуйте выпуск. После этого действие станет доступно для поиска всем пользователям.
Документирование использования
Хорошее действие поставляется с понятным файлом README, содержащим пример использования, входные и выходные данные.
Компании, оценивающие ваше действие, во многом полагаются на эту документацию, поэтому поддерживайте её точность и полноту.
Быстрая проверка
Проверьте, насколько хорошо Вы поняли составные действия.
Итоги
Вы научились создавать и публиковать составные действия.
- Составные действия объединяют шаги с помощью
runs.using: composite - Для каждого шага выполнения необходимо явно указать
shell - Предоставляйте входные и выходные данные для повторного использования
- Используйте семантические версии и изменяемый тег основной версии, затем публикуйте действие в маркетплейсе
Повторно используемые действия позволяют командам масштабировать общую логику CI/CD.
Часто задаваемые вопросы
Урок «Составные действия и публикация в Marketplace» бесплатный?
Да — полный текст урока «Составные действия и публикация в Marketplace» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс CI/CD with GitHub Actions & DevOps Pipelines, подпишись на CoddyKit PRO. Курс CI/CD with GitHub Actions & DevOps Pipelines содержит 4 уроков всего.
Чему я научусь в уроке «Составные действия и публикация в Marketplace»?
Создавайте составные действия, объединяющие несколько шагов, правильно версионируйте их и публикуйте собственные действия в GitHub Marketplace для повторного использования Ты практикуешь CI/CD with GitHub Actions & DevOps Pipelines с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать CI/CD with GitHub Actions & DevOps Pipelines?
Предыдущий опыт не требуется. CI/CD with GitHub Actions & DevOps Pipelines на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Составные действия и публикация в Marketplace»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке CI/CD with GitHub Actions & DevOps Pipelines?
Да. Каждый урок CI/CD with GitHub Actions & DevOps Pipelines включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Разработка пользовательских GitHub Actions
- Автономные исполнители для локальной инфраструктуры
- Интеграция с корпоративными системами
- Составные действия и публикация в Marketplace