Поиск по сайту:
...не вы съели идею, а вас съела идея (Ф.М. Достоевский).

Что такое GitHub Actions? (С 2 примерами)

29.09.2023
Что такое GitHub Actions? (С 2 примерами)

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

С помощью GitHub Actions вы можете создавать автоматизированные конвейеры, которые можно тестировать, создавать и развертывать при каждом push-запросе в ваш репозиторий.

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

 

Что такое GitHub Actions?

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

 

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

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

 

Ключевые концепции действий GitHub

Некоторые ключевые концепции GitHub Actions включают:

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

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

Событие

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

Читать  Выпущена бета-версия Fish Shell 4.0: полная переработка на Rust с ключевыми улучшениями

Задание

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

Шаг

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

Экшен

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

Runner

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

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

 

Действия GitHub: пример рабочего процесса

Пример рабочего процесса с 1 заданием

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

name: GH Actions Demo

on: push


jobs:

  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: OS Release check
      run: cat /etc/os-release

 

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

В этом рабочем процессе есть 1 задание – сборка. Задание сборки проверяет код и проверяет версию ОС с помощью команды cat.

Читать  Как скачать файл с Github

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

Изменить событие запуска или добавить дополнительные задания в GitHub Actions просто.

 

Пример рабочего процесса с 2 заданиями с зависимостью

Вот пример рабочего процесса, который содержит 2 задания. Задание “развертывание” зависит от задания “сборка”.

name: GH Action Demo

on: push

jobs:

  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Run Task 1
      run: echo ---- Running Task 1 ---

  deploy:
    runs-on: ubuntu-latest
    needs: [build]
    steps:
    - uses: actions/checkout@v2
    - name: Run Task 2 - Random Commands
      run: |
         echo ---- Running Task 2 ---
         pwd
         ls
         uname -a

 

В приведенном выше примере сначала будет запущено задание “build”, а после его успешного завершения будет запущено задание “deploy”. Это простой файл рабочего процесса, и вы можете включить в него любые команды, чтобы автоматизировать процесс развертывания.

Например, создание артефактов или образов docker в первом задании, а затем отправка их в реестр docker, ECR или в корзину S3.

На приведенном ниже скриншоте показано, как это выглядит в конвейере GitHub Actions.

Что такое GitHub Actions? (С 2 примерами)

 

Основные преимущества GitHub Actions

Некоторые ключевые преимущества GitHub Actions включают:

  • Автоматизируйте свои конвейеры CI/CD
  • Протестируйте в нескольких версиях вашей среды выполнения, например Node.js, Python и т. д
  • Развертывание в нескольких средах, таких как разработка, промежуточная и производственная
  • Интеграция с другими функциями GitHub, такими как запросы на извлечение
  • Расширяйте действия с помощью контейнеров JavaScript или Docker
  • Богатая экосистема сторонних действий
  • Гибкие рабочие процессы с использованием синтаксиса YAML
Читать  Как установить WordPress плагины и темы из GitHub

 

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
И вот так Valve удивила всех, выпустив долгожданное продолжение Counter-Strike:…

Спасибо!

Теперь редакторы в курсе.