Рубрики
Uncategorized

Понимание того, как использовать действия GitHub

Руководство по пониманию и использованию действий GitHub. Tagged с GitHub, Tooling, DevOps.

Действия GitHub — это инструмент непрерывной интеграции (CI) + непрерывного развертывания (CD) от GitHub.

CI и CD — напыщенные термины, но они просто означают следующее:

  • Непрерывная интеграция: люди сталкиваются с репозиторием GIT, и код тестируется автоматически.
  • Непрерывная доставка: затем подталкивается код (в идеале протестированный и без ошибок) затем выдвигается на сервер, поэтому он становится вживую для пользователей.

Хотя действия GitHub — один из многих инструментов CI + CD, это, вероятно, самый простой для использования (по моему опыту). К сожалению, Github Action Docs Полный беспорядок — они продолжают указывать вам на разные страницы, ожидая, что вы прочитаете все (и поймете все), когда вы все еще пытаетесь настроить свое первое действие.

Сегодня я хочу поделиться основы использования действий GitHub, чтобы вам было легко использовать его.

Настройка первого действия GitHub

Действия GitHub живут в .github/Workflows папка. Вы можете создать любое количество действий. Каждое действие является файлом. Поскольку действия GitHub используют формат YAML, убедитесь, что вы закончили имя файла с помощью YML расширение.

- .github
  |- workflows
    |- action1.yml
    |- action2.yml

Вы можете назвать файл действия все, что вы хотите. Эти имена файлов будут отображаться на вкладке «Действия» после выполнения действия. (Я покажу вам, где немного).

В файле действия GitHub вам нужно три свойства.

  • имя — Имя действия GitHub (так что вы знаете, какое действие работает)
  • на — когда запустить это событие.
  • Работа — Что делать, когда мы запускаем это действие.

Минимальная конфигурация выглядит так:

name: first-github-action
on: [push]
jobs:
  write-to-console:
    runs-on: ubuntu-latest
    steps:
      - run: echo 'Hello world!'

Это действие работает, когда вы push что -то в ваш репозиторий GitHub.

Просмотр действия

Вы можете просмотреть действие GitHub на вкладке «Действия».

После того, как вы будете в этой вкладке «Действия», вы увидите имя ваших действий на левой боковой панели. Это соответствует имя Поле, которое вы использовали для файла действия.

Справа вы увидите список раз, когда действие выполнялось. В этом случае у меня есть один коммит, который руководил действием.

ПРИМЕЧАНИЕ. Рабочие процессы и действия означают одно и то же здесь — я думаю, что Github использует термин рабочих процессов, потому что наличие термина «действия» везде заставляют вещи путать.

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

Если вы нажмете на работу, вы увидите страницу, которая регистрирует то, что произошло во время этого рабочего процесса. (Вы можете нажать на любую из кнопок «Написать»

Затем вы можете нажать на любой элемент, чтобы увидеть более подробную информацию. Например, вот что происходит, когда я нажимаю на Забери эхо 'Привет, мир!' .

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

Действительные события действий

События действий GitHub определяют, когда работает рабочий процесс. Самое основное событие — это push , что означает, что рабочий процесс работает всякий раз, когда что -то перемещается в репозиторий.

on: [push]

Вы можете найти список возможных событий для работы на странице « , которые запускают рабочие процессы ». Список возможных событий показан в правом углу. Не стесняйтесь нажимать на любой элемент, чтобы прочитать больше подробности о событии.

Из этого списка событий я подозреваю, что большинство людей будут использовать толкать и Расписание большинство. Я расскажу о Расписание в более поздней статье.

Бег на определенной ветви

Вы можете попросить GitHub запустить действие на конкретных ветвях, только если вы предоставите эту ветвь в толкать . Вот как выглядит конфигурация:

on: 
  push: 
    branches: 
      # When someone push to `main` branch
      - main
      # When someone pushes to `develop` branch
      - develop
      # When someone pushes to a branch within the `features` folder
      - 'features/**'

Давайте поговорим о работе.

GitHub Action Jobs

Работа позволяет вам определить, что делать. Каждая работа начинается с «удостоверения личности». Этот идентификатор — в основном слизняк, который вы используете. В этом случае у нас есть Написать к-снсоле Идентификатор работы.

jobs:
  write-to-console:
    # ... 

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

jobs:
  write-to-console:
    name: Write to console
      # ...

Вы можете перечислить несколько заданий, если хотите.

jobs:
  testing:
    # ...
  deploy: 
    # ...

Работа в определенной операционной системе

Каждое задание работает в определенной операционной системе. Вы можете выбрать из Windows, Mac или Ubuntu (Linux) на момент написания. Эти серверы называются «бегунами» в терминологии действий GitHub.

Вы можете найти обновленный список поддерживаемых операционных систем Здесь Анкет

Если мы хотим запустить на Ubuntu, мы просто добавим Ubuntu к Забегает Анкет

# ...
jobs:
  write-to-console:
    runs-on: ubuntu-latest

Затем нам нужно определить шаги для выполнения. Здесь происходит большая часть действия.

Определение того, что делать на каждой работе

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

  • С Использование
  • С бежать
  • С название

Вот пример того, как выглядит каждый из них

# ...
jobs:
  write-to-console:
    # ... 
    steps: 
      # Method 1 with Uses
      - uses: something

      # Method 2 with Runs
      - runs: some-cli-command

      # Method 3 with name
      - name: Label for this step
        run: some-cli-command

Мы погрузимся в каждый возможный синтаксис.

Выполнение шагов с использованием

использует Пусть вы используете действия GitHub, которые создали другие. Вы можете увидеть список возможных действий GitHub в Рынок Анкет

Обратите внимание на эти два типа действий:

  • по действию — Они созданы командой GitHub Actions
  • Проверенная отметка — они созданы людьми, проверенными командой Github Actions.

Таким образом, эти действия будут более стабильными, чем все, что вы найдете на рынке.

Самое основное действие — Оформление , который позволяет заказать репозиторий GIT в выбранном бегуне. Вы можете посмотреть на страницу Marketplace, чтобы узнать, как использовать это действие.

В этом случае страница оформления заказа говорит, что мы можем использовать действие с Действия/проверка@v2 Анкет

Затем вы можете предоставить аргументы в действие с с ключевое слово.

steps: 
  - uses: actions/checkout@v2
    with: 
      repository: '' 
      anotherArg: '' 

Обратите внимание на синтаксис здесь:

  • использует имеет - Перед ним — это означает шаг.
  • с нет - Перед ним — все остальные команды под одним и тем же шагом ( с внутри используют ) не должны иметь - префикс.

@v2 Часть — это версия, которую мы используем. Вы можете увидеть список доступных версий в правом верхнем углу, нажмите на Последняя версия падать.

Я рекомендую указать основной номер версии (первый номер, который поступает после V) со всеми действиями GitHub, потому что мы следуем Semver здесь. Это гарантирует, что ваш рабочий процесс не сломается, когда действие внесет нарушающие изменения.

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

steps:
  - uses: actions/checkout@v2
  - uses: actions/setup-node@v2
    with:
      node-version: '14'

использует будет просто регистрироваться как раздел в журнале действий

Выполнение шагов с бегом

запустить здесь просто. Он просто запускает команду. Каждый запустить Команда создаст выделенный раздел в журнале действий.

steps:
  # ...
  - run: echo 'Hello World!' 
  - run: echo "Another section 😉"

Выполнение шагов с именем

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

steps:
  # ...

  # Using Name + uses
  - name: Setup Node 
    uses: actions/setup-node@v1

  # Using Name + Run
  - name: Say Hello 
    run: echo 'Hello World!' 

Запуск нескольких команд в пределах одной команды запуска

Вы можете запустить много строк команд в пределах одного запустить командование Это помогает группировать связанные вещи вместе и позволяет легко просматривать журналы позже.

Для этого вам нужен | персонаж в начале запустить командование Затем вы пишете каждую команду на новой строке.

steps:
  # ...
  - name: Command Group
    run: | 
      echo 'Hello World!' 
      echo 'Hello again!'

Завершая

Теперь вы знаете самые основы действий GitHub. Я надеюсь, что эта статья разъясняет вещи, поэтому вы тратите меньше времени на чтение документов и настраивая то, что вы хотите создать.

На следующей неделе мы углубимся в действия GitHub, чтобы показать вам, как автоматически развернуть сайт с SSH на сервер. Это означает, что мы также начнем работать с секретами GitHub 😉.

Оригинал: «https://dev.to/zellwk/understanding-how-to-use-github-actions-37b2»