Пользовательские действия и 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 — локальная установка не требуется.
Все уроки этого курса
- Введение в GitHub Actions
- Создание рабочих процессов CI/CD
- Пользовательские действия и Marketplace
- Секреты и переменные окружения в действиях