GitHub Actions
| Введение | |
| Создать бесплатный репозиторий на GitHub | |
| Создать Simple Workflow | |
| Анализ ошибок | |
| Редактирование .yml файла | |
| Запус вручную | |
| Другие статьи про Git |
Введение
В этой статье мы разберем GitHub Actions на примере бесплатного репозитория. Про корпоративные репозитории вы можете прочитать здесь
Создать бесплатный репозиторий на GitHub
Для демонстрации возможностей GitHub Actions создадим новый репозиторий
Перейдите в раздел Your repositories и нажмите New
https://devhops.site
Задайте имя репозитория.
Если требуется - установите флаги Private и Add a README file.
Нажмите Create repository
https://devhops.site
Новый репозиторий будет выглядеть следующим оригинальным образом
https://devhops.site
Создать Simple workflow
Приступим к созданию простейшего workflow в новом репозитории
Перейдите в раздел Actions
https://devhops.site
В разделе Simple workflow Нажмите Configure
https://devhops.site
По умолчанию .yml файл для Simple workflow выглядит следующим оригинальным образом
https://devhops.site
Полный код на январь 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.site # 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 будет выглядеть так
https://devhops.site
Закоммитим изменения. Нажмите Commit changes… в верхнем правом углу.
При необходимости добавьте что-то в коммит и нажмите Commit changes
https://devhops.site
Результат
https://devhops.site
Через некоторое время должен появится индикатор успеха.
Если всё хорошо - появится зелёная галочка. На неё можно кликнуть и изучить детали выполнения.
https://devhops.site
Нажмите Details
https://devhops.site
Теперь можно изучить каждый шаг по отдельности.
Выберите Run a multi-line script
https://devhops.site
Все echo и hostnamectl выполнены успешно
https://devhops.site
Просмотр этих логов может быть очень полезен для выяснения причин ошибки.
Анализ ошибок
Предположим, что мы допустили ошибку в .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 }
После коммита мы увидим красный индикатор ошибки
https://devhops.site
После клика на него можно узнать некоторые подробности
https://devhops.site
Чтобы выяснить причину - нужно зайти в логи этого шага
https://devhops.site
Прочитав лог можно понять, что ошибка на четвёртой строке нашего многострочного скрипта
… line 4: ${ hostnamectl }: bad substitution
Редактирование .yml файла
Чтобы внести изменения в существуюй workflow нужно отредактирвоать .yml файл.
Перейти к .yml файлу можно несколькими способами
1. Из раздела Actions нажав … и View workflow file
https://devhops.site
2. Из раздела Code нажав .github/workflows
https://devhops.site
.. И затем нажав на .yml файл
https://devhops.site
Внесём небольшие изменения и закоммитим их
https://devhops.site
https://devhops.site
Некоторое время можно будет видеть статус queued в виде коричневого круга
https://devhops.site
Затем статус должне измениться на успех
https://devhops.site
Лог будет выглядеть примерно так
https://devhops.site
Запус вручную
Чтобы внести изменения в существуюй workflow нужно отредактирвоать .yml файл.
Перейти к .yml файлу можно несколькими способами
1. Из раздела Actions нажав … и View workflow file
https://devhops.site
2. Из раздела Code нажав .github/workflows
https://devhops.site
.. И затем нажав на .yml файл
https://devhops.site
Внесём небольшие изменения и закоммитим их
https://devhops.site
https://devhops.site
Некоторое время можно будет видеть статус queued в виде коричневого круга
https://devhops.site
Затем статус должне измениться на успех
https://devhops.site
Лог будет выглядеть примерно так
https://devhops.site
Автор статьи: Андрей Олегович
| Git remote | |
| Git | |
| GitHub | |
| Actions | |
| Переход с https аутентификации на ssh | |
| GitLab |