Нужно помочь сделать небольшой финальный проект на Яндекс Практикуме. Вот само задание, для программиста не составит труда. Сам проект у меня есть, нужно дописать лишь некторые файлы или проверить мои файлы. Также есть аналогичный проект полностью рабочий на основании которого и можно будет дописать этот проетк.
Вот задание В финальном задании спринта вам предстоит:
настроить запуск проекта Kittygram в контейнерах;
настроить автоматическое тестирование и деплой этого проекта на удалённый сервер.
Автоматизацию надо настроить с помощью сервиса GitHub Actions. При пуше в ветку main:
проект должен тестироваться,
в случае успешного прохождения тестов образы должны обновляться на Docker Hub,
на сервере должны быть запущены контейнеры из обновлённых образов.
Шаг первый: настройка контейнеризации
Напишите Dockerfile для образа kittygram_backend. За основу можно взять Dockerfile для бэкенда Taski.
Для создания образа kittygram_gateway используйте готовый Dockerfile из папки nginx/.
Обновите конфигурацию Nginx и добавьте проксирование запросов для API и админки.
Для создания контейнера фронтенда используйте готовый Dockerfile из папки frontend/.
Настройте совместную работу контейнеров backend и db:
Настройте Django для работы с PostgreSQL.
Создайте файл .env для PostgreSQL и контейнера backend: впишите в него переменные для инициализации БД и связи с ней.
Допишите docker-compose.yml, заготовленный в репозитории. В нём уже есть описание контейнеров, но его нужно расширить:
добавьте volume для статических файлов админки и фронтенда,
добавьте volume для хранения файлов, загруженных пользователями,
подключите файл .env к контейнерам db и backend.
Шаг второй: настройка CI/CD
Автоматизируйте тестирование и деплой проекта Kittygram с помощью GitHub Actions. Напишите в файле .github/workflows/main.yml workflow, который будет:
проверять код бэкенда в репозитории на соответствие PEP8;
запускать тесты для фронтенда и бэкенда (тесты уже написаны);
собирать образы проекта и отправлять их на Docker Hub (замените username на ваш логин на Docker Hub):
username/kittygram_backend,
username/kittygram_frontend,
username/kittygram_gateway.
обновлять образы на сервере и перезапускать приложение при помощи Docker Compose;
выполнять команды для сборки статики в приложении бэкенда, переносить статику в volume; выполнять миграции;
извещать вас в Telegram об успешном завершении деплоя.
103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.
Собянин: Московскому метрополитену исполнилось 89 лет
103news.com — международная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.
Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).
103news.com — живые новости в прямом эфире!
В любую минуту Вы можете добавить свою новость мгновенно — здесь.