GitHub Actions

Содержание
Введение
Создать бесплатный репозиторий на GitHub
Создать Simple Workflow
Анализ ошибок
Редактирование .yml файла
Запус вручную
Другие статьи про Git

Введение

В этой статье мы разберем GitHub Actions на примере бесплатного репозитория. Про корпоративные репозитории вы можете прочитать здесь

Создать бесплатный репозиторий на GitHub

Для демонстрации возможностей GitHub Actions создадим новый репозиторий

Перейдите в раздел Your repositories и нажмите New

Создание репозитория github изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание нового репозитория
https://devhops.ru

Задайте имя репозитория.

Если требуется - установите флаги Private и Add a README file.

Нажмите Create repository

Создание репозитория github изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание нового репозитория
https://devhops.ru

Новый репозиторий будет выглядеть следующим оригинальным образом

Создание репозитория github изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание нового репозитория
https://devhops.ru

Создать Simple workflow

Приступим к созданию простейшего workflow в новом репозитории

Перейдите в раздел Actions

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

В разделе Simple workflow Нажмите Configure

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

По умолчанию .yml файл для Simple workflow выглядит следующим оригинальным образом

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Полный код на январь 2025-го года.

# This is a basic workflow to help you get started with Actions name: CI # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the "main" branch push: branches: [ "main" ] pull_request: 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 "build" build: # 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: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v4 # Runs a single command using the runners shell - name: Run a one-line script run: echo Hello, world! # Runs a set of commands using the runners shell - name: Run a multi-line script run: | echo Add other actions to build, echo test, and deploy your project.

Внесём небольшие изменения. Сделаем несколько echo, плюс раз этот workflow запускается на Ubuntu выведем на экран информацию о хосте .

# This is a basic workflow to help you get started with Actions name: Devhops.ru # Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the "main" branch push: branches: [ "main" ] pull_request: 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 "build" build: # 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: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v4 # Runs a single command using the runners shell - name: Run a one-line script run: echo Thank you for visiting https://devhops.ru # Runs a set of commands using the runners shell - name: Run a multi-line script run: | echo Our telegram channel is, echo https://t.me/aofeed echo You are welcome to subscribe! hostnamectl

Новый .yml будет выглядеть так

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Закоммитим изменения. Нажмите Commit changes… в верхнем правом углу.

При необходимости добавьте что-то в коммит и нажмите Commit changes

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Результат

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Через некоторое время должен появится индикатор успеха.

Если всё хорошо - появится зелёная галочка. На неё можно кликнуть и изучить детали выполнения.

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Нажмите Details

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Теперь можно изучить каждый шаг по отдельности.

Выберите Run a multi-line script

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Все echo и hostnamectl выполнены успешно

Создание simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Создание simple workflow github actions
https://devhops.ru

Просмотр этих логов может быть очень полезен для выяснения причин ошибки.

Анализ ошибок

Предположим, что мы допустили ошибку в .yml файле.

# Runs a set of commands using the runners shell - name: Run a multi-line script run: | echo Our telegram channel is, echo https://t.me/aofeed echo You are welcome to subscribe! ${ hostnamectl }

После коммита мы увидим красный индикатор ошибки

Анализ ошибок в Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Анализ ошибок в Simple workflow github actions
https://devhops.ru

После клика на него можно узнать некоторые подробности

Анализ ошибок в Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Анализ ошибок в Simple workflow github actions
https://devhops.ru

Чтобы выяснить причину - нужно зайти в логи этого шага

Анализ ошибок в Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Анализ ошибок в Simple workflow github actions
https://devhops.ru

Прочитав лог можно понять, что ошибка на четвёртой строке нашего многострочного скрипта

… line 4: ${ hostnamectl }: bad substitution

Редактирование .yml файла

Чтобы внести изменения в существуюй workflow нужно отредактирвоать .yml файл.

Перейти к .yml файлу можно несколькими способами

1. Из раздела Actions нажав и View workflow file

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

2. Из раздела Code нажав .github/workflows

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

.. И затем нажав на .yml файл

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Внесём небольшие изменения и закоммитим их

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Некоторое время можно будет видеть статус queued в виде коричневого круга

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Затем статус должне измениться на успех

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Лог будет выглядеть примерно так

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Запус вручную

Чтобы внести изменения в существуюй workflow нужно отредактирвоать .yml файл.

Перейти к .yml файлу можно несколькими способами

1. Из раздела Actions нажав и View workflow file

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

2. Из раздела Code нажав .github/workflows

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

.. И затем нажав на .yml файл

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Внесём небольшие изменения и закоммитим их

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Некоторое время можно будет видеть статус queued в виде коричневого круга

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Затем статус должне измениться на успех

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Лог будет выглядеть примерно так

Редактирование .yml файла для Simple workflow github actions изображение с сайта www.devhops.ru изображение с сайта www.devhops.ru
Редактирование .yml файла для Simple workflow github actions
https://devhops.ru

Автор статьи: Андрей Олегович

Похожие статьи
Git remote
Git
GitHub
Actions
Переход с https аутентификации на ssh
GitLab

РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе

Конец рекламы. Если там пусто считайте это рекламой моей телеги

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: