Skip to main content

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

Узнайте, как разработать действие для настройки интерфейса командной строки на GitHub Actions бегунах.

Введение

Вы можете написать действие, чтобы предоставить пользователям возможность доступа к серверам с помощью настроенной среды ИНТЕРФЕЙСА командной строки в GitHub Actions запусках.

Действие должно отвечать следующим требованиям:

  • позволять пользователям легко указывать версию интерфейса CLI для установки;
  • поддерживать несколько операционных систем;
  • эффективно выполняться для сведения к минимуму затрат времени и ресурсов;
  • Работа между GitHubразмещенными и локальными запусками
  • по возможности использовать инструменты сообщества.

В этой статье показано, как написать действие, которое получает определенную версию интерфейса CLI, устанавливает ее, добавляет ее по определенному пути и (необязательно) кэширует ее. Действия такого типа (которые устанавливают средство) часто называются setup-$TOOL.

Необходимые компоненты

У вас должно быть представление о написании пользовательских действий. Дополнительные сведения см. в разделе Управление пользовательскими действиями.

Пример

В приведенном ниже скрипте показано, как получить указанную пользователем версию в качестве входных данных, скачать и извлечь эту версию интерфейса CLI, а затем добавить ее по пути.

GitHub предоставляет actions/toolkitнабор пакетов, которые помогают создавать действия. В этом примере используются пакеты actions/core и actions/tool-cache.

JavaScript
const core = require('@actions/core');
const tc = require('@actions/tool-cache');

async function setup() {
  // Get version of tool to be installed
  const version = core.getInput('version');

  // Download the specific version of the tool, e.g. as a tarball
  const pathToTarball = await tc.downloadTool(getDownloadURL());

  // Extract the tarball onto the runner
  const pathToCLI = await tc.extractTar(pathToTarball);

  // Expose the tool by adding it to the PATH
  core.addPath(pathToCLI)
}

module.exports = setup

Чтобы использовать этот скрипт, замените getDownloadURL на функцию, которая скачивает интерфейс CLI. Вам также потребуется создать файл метаданных действия (action.yml), который принимает входной аргумент version и запускает скрипт. Полные сведения о создании действия см. в разделе Создание действия JavaScript.

Дополнительные материалы

Этот шаблон применяется в нескольких действиях. Дополнительные примеры: