Введение
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.
- Откройте веб-браузер и перейдите по адресу https://github.com.
- Войдите в свою учетную запись GitHub.
- В правом верхнем углу любой страницы используйте выпадающее меню + и выберите 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
Пример вывода:
Cloning into 'github-actions-demo'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.
- Проверьте, что каталог был создан:
ls -F
Вы должны увидеть github-actions-demo/ в списке.
Создание каталога .github/workflows в репозитории
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):
git add .
- Зафиксируйте изменения с описательным сообщением:
git commit -m "Setup GitHub Actions workflow directory"
Пример вывода:
[main ... ] Setup GitHub Actions workflow directory
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 .github/workflows/main.yml
- Отправьте изменения в удаленный репозиторий на 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.



