Рубрики
Uncategorized

Введение в действия GitHub

Действия GitHub позволяют автоматизировать задачу разработки, позволяя вам создавать конвейеры CI/CD или автоматически сортировки GitHub. В этом посте вы узнаете о строительных блоках действий, создавая два основных рабочих процесса в качестве примеров. Tagged с DevOps, CICD, GitHub.

GitHub быстро становится все в одном платформе, где разработчики строят, поддерживают и отправляют свое программное обеспечение. Вы можете использовать его в основном в качестве инструмента управления совместным кодом для вашего программного обеспечения. Но Сегодня у вас есть такие функции, как:

  • Codespaces , облачная среда разработки, которая позволяет создавать, запускать и отлаживать ваш код в облаке.
  • Действия , платформа автоматизации, которая позволяет вам автоматизировать рабочий процесс разработки.

Я собираюсь сосредоточиться на действиях GitHub в этом посте. Это будет основным введением в концепцию действий GitHub для разработчиков всех уровней квалификации. Я начну с простого действия, которое распечатает текст, а затем закончу с рабочим процессом действий, который запустит тестовый сценарий приложения Node.js.

Что такое действия GitHub?

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

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

Ваши первые действия Hello World GitHub

Мы собираемся создать простой рабочий процесс действий, который можно использовать вручную, или автоматически запустить для каждого коммита, выдвинутого к Главный ответвляться. Действия GitHub хранятся в вашем хранилище, в каталоге под названием .github/Workflows , и они определены с использованием синтаксиса YAML.

Чтобы начать, вилка и клонировать это Репозиторий на GitHub Анкет Создать каталог .github/Workflows , затем добавьте новый файл Hello-World-Actions.yml и вставьте в него код ниже.

# This is a basic workflow to help you get started with Actions

#The name of your workflow that'll be displayed in the Actions tab
name: Hello-World-Actions

# Events that control when the action will run.
on:
  # Triggers the workflow on push events but only for the main branch
  push:
    branches: [main]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
  # This workflow contains a single job called "say_hello"
  say_hello:
    # The type of runner that the job will run on
    runs-on: ubuntu-latest

    # Steps represent a sequence of tasks that will be executed as part of the job
    steps:
      # Runs a single command using the runners shell
      - name: Say Hello
        run: echo Hello World!

      # Runs a set of commands using the runners shell
      - name: Say Goodbye
        run: |
          echo Job Finished.
          echo Goodbye!

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

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

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

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

События

Рабочий процесс может быть вызван вручную или в ответ на конкретные события. Чтобы указать события, которые запускают рабочий процесс, вы используете на ключевое слово.

on:
  push:
    branches: [main]

  workflow_dispatch:

Этот пример выполняет рабочий процесс на толчке к основной ветви и может быть запускается вручную со страницы действий, потому что мы указали workflow_dispatch Анкет

Работа, бегуны и шаги

Выполнение рабочего процесса состоит из одной или нескольких рабочих мест. В нашем примере у нас есть одна работа по имени say_hello Анкет Задание — это набор шагов, которые выполняют серию команд, используя указанный бегун.

Бегун — это сервер, у которого есть GitHub Actions Runner Application установлены. Он прослушивает доступную работу, выполняет одну работу за раз и сообщает о прогрессе, журналах и результатах обратно в GitHub. Вы можете размещать собственного бегуна или использовать бегунов GitHub. В нашем примере мы используем бегун Ubuntu.

runs-on: ubuntu-latest

После того, как вы указали бегун, вы указываете шаги с командами для запуска.

steps:
    # Runs a single command using the runners shell
    - name: Say Hello
        run: echo Hello World!

    # Runs a set of commands using the runners shell
    - name: Say Goodbye
        run: |
          echo Job Finished.
          echo Goodbye!

запустить Ключевое слово говорит заданию выполнить команду на бегуне. В этом случае запустите Эхо командование с указанными значениями.

Просмотр деятельности рабочего процесса

С изменениями, которые вы внесли, всякий раз, когда вы подталкиваете изменение в Главный Бранч, он запустит этот рабочий процесс. Поскольку вы уже подтолкнули изменение в GitHub, вы должны были выполнить свой рабочий процесс. Вы увидите выполнения рабочего процесса на странице действий на GitHub. Вы можете увидеть визуальный график прогресса для каждого исполнения, а также сверлить в деталях каждого шага.

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

  1. Откройте GitHub и перейдите на главную страницу вашего репозитория.
  2. Вы найдете Действия вкладка после Получить запросы Анкет Нажмите Действия Чтобы открыть страницу действий.
  3. Вы должны увидеть рабочий процесс, указанный на левой боковой панели, и запуск для рабочего процесса, указанного на главной странице. Нажмите на любой из рабочих процессов, которые вы хотели бы увидеть больше информации о его выполнении.

Создайте рабочий процесс для запуска тестов

Хотя вы можете написать свой собственный рабочий процесс и действия с нуля, есть предоставленные сообщество, которые вы можете использовать и настраивать. Рынок GitHub — это центральное место для вас, чтобы найти действия, созданные сообществом GitHub. Мы создадим новый рабочий процесс, который запустит тест в проекте. Для этого мы будем использовать интерфейс GitHub для создания рабочего процесса, используя один из предложенных шаблонов, тогда в рабочем процессе вы будете использовать публичное действие для настройки Node.js.

Откройте GitHub и нажмите Действия Вкладка, чтобы открыть страницу действий. На левой боковой панели нажмите Новый рабочий процесс кнопка. Вам будет представлена страница, которая содержит предложения для шаблонов, которые вы можете изменить для создания рабочего процесса. Нажмите на Установите этот рабочий процесс Кнопка в карте рабочего процесса Node.js.

Это открывает редактор рабочего процесса с предварительно заполненным файлом заданиями и шагами. Измените имя файла на test.yml . Этот файл похож на тот, который вы видели ранее, но с несколькими новыми синтаксисами. На строках 17 и 18 вы замечаете Стратегия и Матрица ключевые слова.

strategy:
  matrix:
    node-version: [10.x, 12.x, 14.x, 15.x]

Стратегия создает матрицу сборки для заданий, так что ваша работа будет работать против указанных вариаций. В этом примере указанное задание будет работать несколько раз для указанных версий node.js в массиве. Мы не хотим бежать против node.js 10.x; Поэтому мы будем обновлять строку 19 следующим образом:

node-version: [12.x, 14.x, 15.x, 16.x]

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

Использование: действия/проверка@v2 Заявление говорит о работе, чтобы получить v2 Действия сообщества по имени Действия/проверка@v2 . Это действие, которое проверяет ваш репозиторий в определенной версии, а затем загружает его на бегун. Это позволяет вам запускать действия против вашего кода, и вы можете использовать это действие в любое время, когда ваш рабочий процесс будет работать против кода репозитория.

Действия/Настройка узла@v2 Действие Установка Узел Программный пакет на бегуне, тем самым предоставляя вам доступ к узел и npm команды

Остальная часть команды работает npm Чтобы установить зависимости проекта, а затем запустить тест сценарий

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

Заворачивать

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

Попробуйте, и дайте мне знать, как сработали для вас действия, оставив здесь комментарий или Dming Me на Twitter Анкет

Первоначально опубликовано в https://www.telerik.com/blogs/introduction-github-actions

Оригинал: «https://dev.to/pmbanugo/introduction-to-github-actions-4bp5»