0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Урок

Составные действия и публикация в 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 — локальная установка не требуется.

Все уроки этого курса

  1. Разработка пользовательских GitHub Actions
  2. Автономные исполнители для локальной инфраструктуры
  3. Интеграция с корпоративными системами
  4. Составные действия и публикация в Marketplace
← Назад к CI/CD with GitHub Actions & DevOps Pipelines