0Pricing
Git & GitHub Professional Workflow · Урок

Пользовательские действия и Marketplace

Изучите Marketplace GitHub Actions, где доступны готовые действия, и научитесь создавать собственные действия.

«Пользовательские действия и Marketplace» — бесплатный урок Git & GitHub Professional Workflow на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Git & GitHub Professional Workflow, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.

Знакомство с GitHub Actions Marketplace

Добро пожаловать в GitHub Actions Marketplace! Это оживлённый центр, где можно найти тысячи готовых действий, созданных GitHub, участниками проектов с открытым исходным кодом и коммерческими партнёрами.

Эти действия легко интегрировать в рабочие процессы, экономя время и усилия благодаря повторному использованию готовых решений для распространённых задач.

Поиск подходящего действия

Ориентироваться в Marketplace легко. Можно искать действия по ключевым словам, фильтровать их по категориям, например «CI/CD» или «Развёртывание», и сортировать по популярности.

  • Выбирайте действия с высокими оценками и активной поддержкой.
  • Изучайте документацию действия, чтобы узнать инструкции по использованию, входные и выходные данные.
  • Проверяйте, сколько раз действие использовалось в общедоступных репозиториях, чтобы оценить его популярность.

Интеграция готового действия

Использовать действие из Marketplace просто. Укажите его с помощью ключевого слова uses в YAML рабочего процесса, после чего укажите owner/repo@version.

Распространённый пример — actions/checkout: это действие получает код вашего репозитория, чтобы рабочий процесс мог получить к нему доступ.

name: Marketplace Demo
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Say hello
        run: echo "Hello from workflow!"

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

Многие действия принимают входные данные для настройки поведения; они задаются с помощью ключевого слова with. Действия также могут создавать выходные данные, которые используют другие шаги рабочего процесса.

Например, действие actions/setup-node может принимать входной параметр node-version.

name: Node Setup Demo
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node.js 18.x
        uses: actions/setup-node@v3
        with:
          node-version: '18.x'
      - name: Install dependencies
        run: npm install

Когда стоит создать собственное действие

Marketplace предлагает множество решений, но иногда требуется что-то особенное. В таких случаях пригодятся собственные действия!

Собственное действие можно создать для:

  • автоматизации внутренних инструментов компании;
  • интеграции с уникальным API, который не поддерживается существующими действиями;
  • выполнения узкоспециализированных задач, связанных с процессом сборки вашего проекта.

Типы собственных действий

Можно создавать два основных типа собственных действий:

  • Действия JavaScript: они выполняются непосредственно на машине среды выполнения с помощью Node.js. Их обычно быстрее разрабатывать и проще распространять.
  • Действия в контейнере Docker: они выполняются внутри контейнера Docker. Это удобно для изоляции сред и зависимостей, что обеспечивает единообразное выполнение в разных средах.

Для простоты мы сосредоточимся на действиях JavaScript.

Файл `action.yml`

Каждому собственному действию нужен файл action.yml. Этот файл определяет метаданные действия, включая его имя, описание, принимаемые входные данные, создаваемые выходные данные и способ выполнения.

Это своего рода манифест действия, сообщающий GitHub Actions всё необходимое.

name: 'My Custom Greeting Action'
description: 'Greets a person with a custom message.'
inputs:
  who-to-greet:
    description: 'Who to greet'
    required: true
    default: 'World'
outputs:
  time:
    description: 'The time we greeted you'
runs:
  using: 'node16'
  main: 'index.js'

Создание простого действия JavaScript

Создадим очень простое действие JavaScript. Вам понадобится файл index.js, указанный в action.yml, и обычно файл package.json для зависимостей.

Пакет @actions/core необходим для взаимодействия с рабочим процессом, например получения входных данных и задания выходных данных.

const core = require('@actions/core');

async function run() {
  try {
    const nameToGreet = core.getInput('who-to-greet');
    console.log(`Hello ${nameToGreet}!`);

    const time = (new Date()).toTimeString();
    core.setOutput("time", time);

  } catch (error) {
    core.setFailed(error.message);
  }
}

run();

Интеграция собственного действия

Чтобы использовать собственное действие, разместите его файлы (action.yml, index.js и т. д.) во вложенном каталоге вашего репозитория. Затем укажите его в рабочем процессе с помощью относительного пути: uses: ./path/to/your/action.

Это позволяет протестировать действие локально, прежде чем при необходимости опубликовать его в Marketplace.

name: Use Custom Action Demo
on: [push]
jobs:
  greet:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run my custom action
        uses: ./my-custom-action # Path to action directory
        with:
          who-to-greet: 'CoddyKit User'
      - name: Get the output time
        run: echo "The greeting time was ${{ steps.run-my-custom-action.outputs.time }}"

Компоненты собственного действия

Вы узнали о ключевых элементах создания и использования собственных действий GitHub Actions. Давайте проверим, насколько хорошо вы всё поняли!

Итоги: Marketplace и собственные действия

Отличная работа! Вы изучили возможности GitHub Actions Marketplace и собственных действий.

  • Marketplace предлагает множество готовых действий, которые упрощают рабочие процессы.
  • Собственные действия позволяют расширить GitHub Actions с учётом уникальных потребностей проекта или организации.

Объединяя эти возможности, можно создавать чрезвычайно мощные и адаптированные конвейеры автоматизации!

Часто задаваемые вопросы

Урок «Пользовательские действия и Marketplace» бесплатный?

Да — полный текст урока «Пользовательские действия и Marketplace» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Git & GitHub Professional Workflow, подпишись на CoddyKit PRO. Курс Git & GitHub Professional Workflow содержит 4 уроков всего.

Чему я научусь в уроке «Пользовательские действия и Marketplace»?

Изучите Marketplace GitHub Actions, где доступны готовые действия, и научитесь создавать собственные действия. Ты практикуешь Git & GitHub Professional Workflow с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Git & GitHub Professional Workflow?

Предыдущий опыт не требуется. Git & GitHub Professional Workflow на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Пользовательские действия и Marketplace»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Git & GitHub Professional Workflow?

Да. Каждый урок Git & GitHub Professional Workflow включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

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

  1. Введение в GitHub Actions
  2. Создание рабочих процессов CI/CD
  3. Пользовательские действия и Marketplace
  4. Секреты и переменные окружения в действиях
← Назад к Git & GitHub Professional Workflow