Понимание действий GitHub | DATAENGINER

Понимание действий GitHub

Изучите основы действий GitHub, включая основные концепции и важную терминологию.

Обзор

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

Обзор рабочего процесса

Выше приведенная схема показывает, как можно использовать GitHub Actions для запуска сценариев тестирования ПО в автоматическом режиме. Событие само запустит рабочий процесс , который содержит задание . Затем задание использует шаги для управления порядком выполняемых шагов. Эти шаги являются набором команд, которые и автоматизируют тестирование вашего программного обеспечения.

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

На ниже приведенной схеме, нарисовано несколько ключевых компонентов Github Actions, которые работают вместе над выполнением задания. Как вы можете видеть, эти компоненты взаимодействуют друг с другом.

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

Рабочий процесс — это автоматизированная процедура, которую вы добавляете в свой репозиторий в виде файла. Рабочие процессы, могут состоять из одного или даже нескольких заданий, могут быть запланированы или инициализированы событием. Рабочий процесс можно использовать не только для сборки, а также для тестирования, упаковки, выпуска или доставки(развертывания) кода на GitHub. Вы можете ссылаться на рабочий процесс в любом, другом рабочем процессе.

События

Событие — это какое-то конкретное действие, которое как правило запускает рабочий процесс.Например активность может быть вызвана из GitHub, если вы или ваши коллеги решили отправить фиксацию в репозиторий или когда создали новую проблему или по созданию запроса на слияние. Для отслеживания, вы можете использовать веб — перехватчик (WebHooks) отправки в репозиторий для запуска вашего процесса работы, при возникновении внешнего события.

Jobs(Джобы, Работа, Задание)

Задание — это определенный набор шагов, которые выполняет один и тот же бегун(Runner). Если в рабочем процессе несколько заданий, то они будут запускаться параллельно. Вы можете настроить свой процесс для последовательного выполнения своих рабочих заданий. Для примера: вы можете иметь два последовательных задания, которые создают и тестируют ваш код, причем тестовое задание зависит от успешного статуса задания сборки. Если задание сборки потерпит неудачу, то тестовое задание запущенно не будет.

Шаги

Шаги — это отдельные задачи, вы можете запускать какие — то команды в задании. Шаг может быть действием или команды оболочки.

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

Действия(Actions)

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

Бегуны(Runners)

Бегун — он же Runner — это сервер на котором установлено приложение — исполнитель(агент) GitHub Actions. Вы можете использовать бегуны, размещенные на серверах Github, или вы можете разместить свой собственный бегун. Бегун отслеживает наличие доступных заданий, запускает какое — то одно задание за раз и сообщает о ходе выполнения, ведет журналы и сообщает о результатах выполнения обратно на GitHub. Бегуны которые расположены на GitHub, основаны на Ubuntu Linux, Microsoft Windows и Mac OS, и каждой виртуальное задание выполняется в новой виртуальной среде. Для получения информации о бегунах которые размещены на GitHube, см «Данную статью». Если вам нужна другая ОС или конфигурация оборудования, вы можете разместить бегуна на своем железе. Хочешь знать как сделать? Данный материал уже тут.

Создайте пример рабочего процесса

GitHub Actions использует синтаксис YAML для определения событий, заданий и шагов. Эти файлы YAML хранятся в вашем репозитории кода в каталоге с именем .github/workflows.

Вы можете создать пример рабочего процесса в своем репозитории, который автоматически запускает серию команд при каждой отправке кода. В этом рабочем процессе GitHub Actions проверяет отправленный код, устанавливает зависимости программного обеспечения и запускается bats -v.

  1. В своем репозитории создайте .github/workflows/каталог для хранения файлов рабочего процесса.
  2. В .github/workflows/каталоге создайте новый файл с именем learn-github-actions.ymlи добавьте следующий код.name: learn-github-actions on: [push] jobs: check-bats-version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '14' - run: npm install -g bats - run: bats -v
  3. Зафиксируйте эти изменения и отправьте их в свой репозиторий GitHub.

Ваш новый файл рабочего процесса GitHub Actions теперь установлен в вашем репозитории и будет запускаться автоматически каждый раз, когда кто-то отправляет изменение в репозиторий. Подробные сведения об истории выполнения задания см. В разделе « Просмотр активности рабочего процесса» .

Понимание файла рабочего процесса

Чтобы помочь вам понять, как синтаксис YAML используется для создания файла рабочего процесса, в этом разделе объясняется каждая строка примера введения:

name: learn-github-actionsНеобязательно — имя рабочего процесса, которое будет отображаться на вкладке «Действия» в репозитории GitHub.
on: [push]Укажите событие, которое автоматически запускает файл рабочего процесса. В этом примере используется pushсобытие, поэтому задания запускаются каждый раз, когда кто-то отправляет изменение в репозиторий. Вы можете настроить рабочий процесс для работы только с определенными ветвями, путями или тегами. Примеры синтаксиса, включая или исключая ветви, пути или теги, см. В разделе «Синтаксис рабочего процесса для действий GitHub».
jobs:Группирует вместе все задания, которые выполняются в learn-github-actionsфайле рабочего процесса.
check-bats-version:Определяет имя check-bats-versionзадания, хранящегося в jobsразделе.
runs-on: ubuntu-latestНастраивает задание для запуска в среде выполнения Ubuntu Linux. Это означает, что задание будет выполняться на новой виртуальной машине, размещенной на GitHub. Примеры синтаксиса с использованием других бегунов см. В разделе «Синтаксис рабочего процесса для действий GitHub».
steps:Сгруппирует вместе все шаги, выполняемые в check-bats-version работе. Каждый элемент, вложенный в этот раздел, представляет собой отдельное действие или команду оболочки.
- uses: actions/checkout@v2uses Ключевое слово указывает работу , чтобы получить v2действия сообщества по имени . Это действие, которое проверяет ваш репозиторий и загружает его в runner, позволяя вам запускать действия с вашим кодом (например, инструменты тестирования). Вы должны использовать действие checkout каждый раз, когда ваш рабочий процесс будет работать с кодом репозитория или вы используете действие, определенное в репозитории. actions/checkout@v3
- uses: actions/setup-node@v2 with: node-version: '14'На этом шаге используется действие для установки указанной версии программного пакета на средстве выполнения, что дает вам доступ к команде. actions/setup-node@v2nodenpm
- run: npm install -g batsrunКлючевое слово указывает работу , чтобы выполнить команду на бегуна. В этом случае вы используете npmдля установки batsпакета тестирования программного обеспечения.
- run: bats -vНаконец, вы запустите batsкоманду с параметром, который выводит версию программного обеспечения.

Визуализация файла рабочего процесса

На этой схеме вы можете увидеть только что созданный файл рабочего процесса и то, как компоненты GitHub Actions организованы в иерархию. Каждый шаг выполняет отдельное действие или команду оболочки. В шагах 1 и 2 используются предварительно созданные действия сообщества. Шаги 3 и 4 запускают команды оболочки непосредственно на бегунке. Чтобы найти дополнительные предварительно созданные действия для ваших рабочих процессов, см. « Поиск и настройка действий ».

Обзор рабочего процесса

Просмотр активности на вакансии

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

  1. На GitHub.com перейдите на главную страницу репозитория.
  2. Под именем репозитория щелкните Действия .Перейти в репозиторий
  3. На левой боковой панели щелкните рабочий процесс, который хотите просмотреть.Скриншот результатов рабочего процесса
  4. В разделе «Выполнение рабочего процесса» щелкните имя запуска, которое вы хотите просмотреть.Снимок экрана выполнения рабочего процесса
  5. В разделе » Задания» или на графике визуализации щелкните задание, которое хотите просмотреть.Выбрать работу
  6. Просматривайте результаты каждого шага.Снимок экрана с подробностями выполнения рабочего процесса

Leave a reply:

Your email address will not be published.

Site Footer