GitHub Actions — это платформа непрерывной интеграции и непрерывной доставки (CI/CD), которая позволяет автоматизировать конвейер сборки, тестирования и развертывания. Вы можете создавать рабочие процессы (workflows), которые выполняют сборку и тестирование каждого pull request в вашем репозитории или развертывают объединенные pull requests в производственную среду (production).
В этой лабораторной работе вы изучите первоначальную настройку, необходимую для начала использования GitHub Actions. Вы пройдете процесс создания репозитория GitHub, клонирования его в локальную среду разработки и настройки специфической структуры каталогов, которую GitHub Actions требует для распознавания ваших рабочих процессов.
Предварительные требования
Аккаунт GitHub (https://github.com). Если у вас нет аккаунта GitHub, вам необходимо сначала зарегистрировать бесплатный аккаунт по адресу https://github.com/signup. Это является обязательным условием для прохождения данной лабораторной работы.
Базовое знакомство с командной строкой (command line).
Создание нового репозитория на сайте GitHub
На этом шаге вы создадите новый репозиторий на веб-сайте GitHub. Этот репозиторий будет служить удаленным хранилищем для вашего проекта и местом, где будут выполняться рабочие процессы (workflows) GitHub Actions.
В правом верхнем углу любой страницы используйте выпадающее меню + и выберите New repository (Новый репозиторий).
В поле Repository name (Имя репозитория) введите github-actions-demo.
Выберите Public (Публичный) (GitHub Actions бесплатен для публичных репозиториев).
Установите флажок Add a README file (Добавить файл README). Это гарантирует, что репозиторий инициализирован и готов к клонированию.
Нажмите Create repository (Создать репозиторий).
Теперь вы создали удаленный репозиторий. На следующих шагах вы перенесете этот репозиторий в свою локальную среду.
Клонирование репозитория на виртуальную машину Ubuntu с помощью команды git clone
На этом шаге вы клонируете только что созданный репозиторий в вашу локальную среду LabEx. Это позволит вам редактировать файлы и создавать рабочие процессы локально.
На странице вашего репозитория на GitHub нажмите зеленую кнопку Code.
Убедитесь, что выбрана вкладка HTTPS, и скопируйте URL. Он должен выглядеть примерно так: https://github.com/your-username/github-actions-demo.git.
Откройте терминал в среде LabEx. Путь по умолчанию — ~/project.
Используйте команду git clone для загрузки репозитория. Замените your-username на ваше фактическое имя пользователя GitHub.
cd ~/project
git clone https://github.com/your-username/github-actions-demo.git
GitHub Actions ищет файлы конфигурации рабочих процессов (workflow configuration files) в определенном каталоге внутри вашего репозитория: .github/workflows. На этом шаге вы создадите эту структуру каталогов.
Убедитесь, что вы находитесь внутри каталога репозитория:
cd ~/project/github-actions-demo
Создайте каталог .github и подкаталог workflows внутри него, используя команду mkdir с флагом -p (parents):
mkdir -p .github/workflows
Git не отслеживает пустые каталоги. Чтобы гарантировать, что мы сможем закоммитить эту структуру на следующем шаге, давайте создадим простой пустой файл рабочего процесса с именем main.yml внутри этого каталога.
touch .github/workflows/main.yml
Проверьте структуру:
ls -R .github
Пример вывода:
.github:
workflows
.github/workflows:
main.yml
Эта структура является обязательной. GitHub будет распознавать YAML-файлы, размещенные в .github/workflows, только как рабочие процессы Actions.
Фиксация и отправка изменений каталога с использованием git add, git commit и git push
На этом шаге вы зафиксируете новую структуру каталогов и отправите ее в GitHub.
Добавьте новые файлы для фиксации (stage the new files for commit):
Отправьте изменения в удаленный репозиторий на GitHub:
git push
Примечание об аутентификации:
Когда вы выполните команду git push, WebIDE автоматически предложит вам пройти аутентификацию. Следуйте этим подробным шагам:
Появится всплывающее окно с сообщением: "The extension 'GitHub' wants to sign in using GitHub." Нажмите Allow (Разрешить).
Появится новое уведомление. Нажмите "Copy&Continue to GitHub" (Скопировать и продолжить в GitHub), затем нажмите "Open" (Открыть) в следующем запросе.
Войдите в свою учетную запись GitHub в открывшемся окне браузера и введите скопированный код авторизации. После подтверждения авторизации страница закроется автоматически.
Подождите несколько секунд, и вы увидите, что терминал успешно завершил операцию отправки (push).
Примечание о конфиденциальности: WebIDE запросит полный доступ к вашей учетной записи GitHub для целей аутентификации. Вам не нужно беспокоиться о проблемах конфиденциальности — виртуальная машина LabEx будет немедленно уничтожена после завершения текущей лабораторной работы, и ваши учетные данные и информация об авторизации не будут сохранены.
Этот процесс аутентификации не требует ручной настройки имени пользователя или Персонального токена доступа (Personal Access Token).
После выполнения шагов аутентификации вы увидите вывод, похожий на следующий:
Пример вывода:
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (5/5), 388 bytes | 388.00 KiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/your-username/github-actions-demo.git
2e0917f..a191a97 master -> master
Посетите свой репозиторий на GitHub в веб-браузере, чтобы убедиться, что каталог .github/workflows и файл main.yml теперь видны в структуре репозитория.
Резюме
В этой лабораторной работе вы успешно заложили основу для использования GitHub Actions. Вы выполнили следующие действия:
Создали новый репозиторий на GitHub.
Клонировали репозиторий в свою локальную среду.
Создали обязательную структуру каталогов .github/workflows.
Зафиксировали и отправили эти изменения обратно на GitHub.
Теперь, когда эта структура настроена, вы готовы определять рабочие процессы CI/CD, редактируя YAML-файлы в каталоге workflows.