Изучение действий GitHub

Завершено

GitHub Actions — это платформа непрерывной интеграции и непрерывной доставки (CI/CD), которая позволяет автоматизировать конвейеры сборки, тестирования и развертывания. Он позволяет создавать рабочие процессы, которые автоматически создают, тестируют и развертывают код на любой платформе. Давайте рассмотрим GitHub Actions и как разработчики используют их.

Компоненты GitHub Actions

Вы можете запустить рабочий процесс GitHub Actions вручную или настроить его для активации при возникновении события в репозитории. Например, pull request может активировать рабочий процесс, выполняющий валидацию в рамках процесса обзора.

Рабочий процесс содержит следующие компоненты:

  • Рабочие процессы: содержат одно или несколько заданий, которые могут выполняться в последовательном порядке или параллельно.
  • Задания: Содержат один или несколько шагов, которые либо выполняют скрипт, который вы определяете, либо выполняют действие. Задания запускаются внутри собственного виртуального машины runner или внутри контейнера.
  • Шаги. Определение конкретных задач, выполняемых во время выполнения рабочего процесса.

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

Рабочие процессы

Рабочий процесс — это настраиваемый автоматизированный процесс, выполняющий одно или несколько заданий. Рабочие процессы определяются файлом YAML, заложенным в репозиторий. Они выполняются при активации события, запускаются вручную или выполняются по определенному расписанию.

Рабочие процессы определяются в каталоге .github/workflows в репозитории, а репозиторий может иметь несколько рабочих процессов, каждый из которых может выполнять разные задачи. Например, вы можете иметь один рабочий процесс для сборки и тестирования pull-запросов, рабочий процесс для развертывания вашего приложения каждый раз при создании релиза и рабочий процесс, который добавляет метку каждый раз, когда кто-то открывает новый вопрос.

События

Событие — это определенное действие в репозитории, которое активирует выполнение рабочего процесса. Например, действие может исходить из GitHub, когда кто-то создает pull request, открывает задачу или отправляет коммит в репозиторий. Вы также можете активировать рабочий процесс для запуска по расписанию, разместив в REST API или вручную.

Работа

Задание — это набор шагов в рабочем процессе, который выполняется на исполнителе. Каждый шаг — это скрипт оболочки, который выполняется, или выполняемое действие. Шаги выполняются по порядку и зависят друг от друга. Поскольку каждый шаг выполняется на одном и том же исполнителе, вы можете передавать данные из одного шага в другой. Например, можно выполнить шаг, который создает приложение, за которым следует шаг, который проверяет созданное приложение.

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

Действия

Действие — это пользовательское приложение для платформы GitHub Actions, которая выполняет сложную, но часто повторяемую задачу. Используйте действие, чтобы уменьшить объем повторяющегося кода, написанного в файлах рабочего процесса. Действие может извлечь репозиторий Git из GitHub, настроить правильную цепочку инструментов для среды сборки или настроить проверку подлинности для поставщика облачных служб.

Вы можете написать собственные действия или найти действия для использования в рабочих процессах в GitHub Marketplace.

Бегунов

Исполняющая среда — это сервер, на котором выполняются ваши рабочие процессы при их активации. Каждый раннер может выполнять одну задачу в один момент времени. GitHub предоставляет средства выполнения рабочих процессов в Ubuntu Linux, Microsoft Windows и macOS; каждый запуск рабочего процесса выполняется в новой подготовленной виртуальной машине. GitHub также предлагает более мощные раннеры, которые доступны в увеличенных конфигурациях.

Если вам нужна другая операционная система или требуется определенная конфигурация оборудования, можно разместить собственные средства выполнения.

Теперь, когда вы понимаете компоненты GitHub Actions, давайте изучим файл рабочего процесса.