Разработка пайплайна автоматической сборки проекта #7
Labels
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Telegram-Market/telegram-shop#7
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Описание задачи
Необходимо разработать пайплайн для автоматической сборки проекта на Node.js в Gitea, который будет запускаться при внесении значительных изменений в кодовую базу, а также при выпуске новых версий и пакетов. Пайплайн должен автоматически создавать Docker контейнеры для различных версий проекта и предоставлять их для скачивания. Это обеспечит упрощение процесса развертывания, уменьшит вероятность ошибок и улучшит общую поддержку инфраструктуры.
Требования
1. Автоматическая сборка при изменениях в репозитории
Триггер на изменения:
main
,develop
,release
), чтобы в зависимости от ветки запускался нужный процесс сборки.Проверка качества кода:
2. Сборка пакетов и Docker контейнеров
Сборка проекта:
.tar
,.zip
,.deb
,.rpm
и т.д.).Создание Docker контейнера:
Хранение Docker образов:
myapp:latest
илиmyapp:v1.0.0
.3. Выпуск и деплой новых версий
Теги версий:
v1.0.0
,v1.1.0
и т.д.Автоматическое размещение сборок:
.tar.gz
или.zip
) и размещены на сервере для скачивания.4. Автоматические тесты
Тестирование:
Ожидаемые результаты тестов:
5. Информирование и уведомления
Уведомления об ошибках и успешных сборках:
Визуализация состояния сборки:
Техническая реализация
1. Используемая система CI/CD: Gitea Actions
Для автоматизации процессов сборки и деплоя можно использовать Gitea Actions, встроенный механизм для CI/CD в Gitea, который позволяет создавать и управлять пайплайнами.
Конфигурация будет описана в
.gitea/workflows/ci.yml
.2. Создание Dockerfile для контейнера
Для проекта на Node.js нужно создать Dockerfile, который будет содержать все инструкции для сборки контейнера:
3. Пример конфигурации Gitea Actions
Конфигурация пайплайна для Gitea будет выглядеть следующим образом:
4. Docker Hub или альтернативные репозитории
5. Тестирование с Mocha или Jest для Node.js
Перед сборкой Docker контейнера нужно добавить шаг для запуска тестов с использованием Mocha или Jest. Для этого в package.json должны быть настроены скрипты:
Чек-лист выполнения
Ожидаемый результат