Оптимизация CI/CD
Обзор проекта
Технологический стек:
Frontend: React
Backend: Nest.js
База данных: MongoDB (с поддержкой реплика-сета)
Использование Nx Monorepo для управления несколькими фронтенд и бэкенд проектами, включая 3 фронтенд сервиса и 1 бэкенд API сервис.
Среда развертывания:
Redis и MongoDB размещены на собственных серверах, без использования облачных сервисов.
MongoDB должен быть настроен с реплика-сетом для обеспечения правильной обработки транзакций.
Краткое описание требований
Оптимизация пайплайна и развертывания:
Настроить автоматизированный тестовый пайплайн с использованием GitHub Actions.
Обрабатывать только проекты, которые изменились, избегая повторной установки зависимостей и пересборки образов.
Оптимизировать процесс сборки Docker, используя кэширование и инкрементальные сборки для уменьшения использования хранилища и времени сборки.
Управление Docker образами и контейнерами:
Использовать docker-compose файлы для развертывания сервисов.
Перезапускать только изменившиеся сервисы, а не весь стек, обеспечивая минимальное время развертывания и минимальные ресурсы.
Переустанавливать зависимости только при их изменении, избегая повторной установки при каждом развертывании.
Требования к базе данных:
Развернуть MongoDB с реплика-сетами для обеспечения высокой доступности и поддержки транзакций.
Развернуть Redis для обеспечения конфиденциальности данных и поддержки базовых кэширования.
Оптимизация ресурсов и хранилища:
Автоматическая очистка старых Docker образов и контейнеров для уменьшения использования хранилища.
Повышение эффективности развертывания с помощью GitHub Actions и других автоматизационных инструментов.
Цели
Достичь инкрементальных сборок и развертываний, обеспечивая самое быстрое время развертывания и минимальные ресурсы.
Дата сдачи: 1 день, максимум 2 дня.
Обзор проекта
Технологический стек:
Frontend: React
Backend: Nest.js
База данных: PostgreSQL (вместо MongoDB)
Использование Nx Monorepo для управления несколькими фронтенд и бэкенд проектами, включая 3 фронтенд сервиса и 1 бэкенд API сервис.
Среда развертывания:
Redis и PostgreSQL размещены на собственных серверах, без использования облачных сервисов.
PostgreSQL должен быть настроен для высокой доступности и поддержки транзакций.
Краткое описание требований
Оптимизация пайплайна и развертывания:
Настроить автоматизированный пайплайн тестирования с использованием GitHub Actions.
Обрабатывать только те проекты, которые изменились, избегая повторной установки зависимостей и пересборки образов.
Оптимизировать процесс сборки Docker, используя кэширование и инкрементальные сборки для уменьшения использования хранилища и времени сборки.
Управление Docker образами и контейнерами:
Использовать файлы docker-compose для развертывания сервисов.
Перезапускать только те сервисы, которые изменились, а не весь стек, обеспечивая минимальное время развертывания и низкое потребление ресурсов.
Переустанавливать зависимости только при их изменении, избегая повторной установки при каждом развертывании.
Требования к базе данных:
Миграция с MongoDB на PostgreSQL, обеспечение высокой доступности и поддержки транзакций.
Развернуть Redis для обеспечения конфиденциальности данных и поддержки базовых потребностей кэширования.
Оптимизация ресурсов и хранилища:
Автоматическая очистка устаревших Docker образов и контейнеров для уменьшения использования хранилища.
Повышение эффективности развертывания с помощью GitHub Actions и других инструментов автоматизации.
Цели:
Достичь инкрементальных сборок и развертываний, обеспечивая максимально быстрое время развертывания и минимальное потребление ресурсов.
Дата сдачи: 2 дня, максимум 3 дня.
Project Overview
Technology Stack:
Frontend: React
Backend: Nest.js
Database: PostgreSQL (instead of MongoDB)
Using Nx Monorepo to manage multiple frontend and backend projects, including 3 frontend services and 1 backend API service.
Deployment Environment:
Redis and PostgreSQL are deployed on own servers, not using cloud services.
PostgreSQL must be configured for high availability and support for transactions.
Requirements Summary
Pipeline and Deployment Optimization:
Set up an automated testing pipeline using GitHub Actions.
Only build and deploy the projects that have changed, avoiding redundant dependency installations and image rebuilds.
Optimize Docker build process, using caching and incremental builds to reduce storage usage and build time.
Docker Image and Container Management:
Use docker-compose files to deploy services.
Only redeploy the services that have changed, not the entire stack, ensuring the shortest deployment time and lowest resource consumption.
Reinstall dependencies only when they change, avoiding reinstalling on every deployment.
Database Requirements:
Migrate from MongoDB to PostgreSQL, ensuring high availability and supporting transactions.
Deploy Redis to ensure data privacy and support basic caching needs.
Resource and Storage Optimization:
Automatically clean up old Docker images and containers to reduce storage usage.
Improve deployment efficiency using GitHub Actions and other automation tools.
Goals:
Achieve incremental builds and deployments, ensuring the fastest deployment time and the lowest resource consumption.
Delivery date: 2 day, maximum 3 days.
Результаты работы
Отзыв заказчика о сотрудничестве с Revaz G.
Оптимизация CI/CDЗадача была выполнена очень хорошо. Хотя были некоторые барьеры в коммуникации, разработчик был очень терпеливым.
Я настоятельно рекомендую сотрудничество и надеюсь снова поработать вместе в будущем.
-
Победившая ставка5 дней8974 UAH
16221 36 0 Победившая ставка5 дней8974 UAHЗдравствуйте, Jiangzhe,
Я внимательно изучил ваши подробные требования по оптимизации CI/CD-процесса для вашего Nx monorepo и миграции базы данных. У вас четкое видение эффективного и современного процесса развертывания.
Чтобы обеспечить высокое качество и надежность результата, лучше рассматривать это как два отдельных, важных проекта:
Оптимизация CI/CD-процесса
Миграция базы данных (MongoDB на PostgreSQL)
…
Выполнить оба эти проекта, особенно сложную миграцию базы данных, в профессиональном стандарте за 2-3 дня — не представляется возможным.
Поэтому я предлагаю сначала сосредоточиться на достижении вашей основной цели — оптимизации CI/CD. У меня есть обширный опыт работы с GitHub Actions и Docker в средах Nx monorepo.
Мой план по оптимизации CI/CD включает:
Реализацию
команд nx affected в вашем workflow GitHub Actions для тестирования и сборки только тех приложений, которые действительно изменились.
Оптимизацию ваших Dockerfile для использования многоступенчатых сборок и кэширования слоев, что значительно сократит время сборки и размеры образов.
Усовершенствование вашей
docker-compose для возможности повторного развертывания только измененных сервисов.
Добавление автоматизированного шага очистки для удаления старых Docker-образов и контейнеров, что сэкономит место на диске.
После успешной оптимизации вашего процесса развертывания я с радостью подготовлю отдельное, подробное предложение по миграции базы данных.
Оценка (только для оптимизации CI/CD):
Сроки: 5 дней
Цена: 750 долларов США
Этот поэтапный подход гарантирует немедленные, ощутимые улучшения в вашем жизненном цикле разработки. Я уверен, что смогу создать эффективный pipeline, который вы ищете.
-
2 дня13 461 UAH
1824 81 0 2 дня13 461 UAHУ меня есть опыт, и я могу реализовать оптимизацию развертывания.
Актуальные фриланс-проекты в категории Javascript и Typescript
Оптимизация Core Web Vitals (OpenCart) под Google PageSpeed — Мобильная и ПК версииОписание заказа: Ищем опытного frontend-разработчика/специалиста по OpenCart для оптимизации скорости загрузки сайта (категории и карточки товаров) под требования Google Core Web Vitals. О проекте: * CMS: OpenCart. * Специфика: Сайт работает в режиме каталога (корзины и… CMS, Javascript и Typescript ∙ 13 часов 15 минут назад ∙ 14 ставок |
Оптимизация скорости сайта WordPress
5088 UAH
полные детали отправим в личные сообщения Цель Максимально ускорить загрузку сайта, особенно на мобильных устройствах. KPI (обязательно) После завершения работ необходимо добиться следующих показателей. Mobile Performance 90+ LCP менее 2.2 сек INP менее 200 мс CLS менее 0.1… HTML и CSS верстка, Javascript и Typescript ∙ 1 день 8 часов назад ∙ 62 ставки |
Интеграция калькулятора стоимости услуг на сайт Webflow
14 807 UAH
Ищем разработчика для интеграции готового калькулятора стоимости услуг на наш сайт, созданный на Webflow. О компании Мы занимаемся: сборкой мебели; монтажем телевизоров; монтажем полок, картин, зеркал и других предметов; помощью при переезде; подъемом тяжелых предметов; услугами… Javascript и Typescript, Веб-программирование ∙ 1 день 9 часов назад ∙ 58 ставок |
Ищем Odoo Developer — соло-разработчика с опытом разработки на Odoo 19 Community EditionЕсть рабочий, чисто спроектированный проект на Odoo 19 Community — CRM для украинского отеля, уже в production-grade инфраструктуре. Переписывать с нуля не планируем. Ищем одного человека, который подхватит проект, сохранит работоспособное и поведет его дальше: сначала CRM →… Javascript и Typescript, Веб-программирование ∙ 3 дня 10 часов назад ∙ 2 ставки |
Ищу опытного Full Stack разработчика для создания SaaS-сервиса для интернет-магазинов.Идея сервиса: Клиент загружает ссылку на свой товарный фид (XML или CSV). Сервис автоматически получает товары, берет их фотографии и создает новые рекламные изображения по готовым шаблонам: цена, скидка, логотип, акционные плашки и т.д. Также в сервисе должен быть простой… Javascript и Typescript, Веб-программирование ∙ 4 дня 16 часов назад ∙ 87 ставок |