Оптимізація 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 та міграції бази даних. У вас чітке бачення ефективного та сучасного процесу розгортання.
Щоб забезпечити високоякісний і надійний результат, найкраще підходити до цього як до двох окремих, важливих проектів:
Оптимізація CI/CD-процесу
Міграція бази даних (MongoDB до PostgreSQL)
…
Завершення обох цих завдань, особливо складної міграції бази даних, у професійному стандарті протягом 2-3 днів є нереальним.
Тому я пропоную спочатку зосередитися на досягненні вашої основної мети — оптимізації CI/CD. У мене є великий досвід роботи з GitHub Actions і Docker у середовищах Nx.
Мій план щодо оптимізації CI/CD полягає в тому, щоб:
Впровадити
nx affected команд у вашому робочому процесі 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 ∙ 15 годин 58 хвилин тому ∙ 14 ставок |
Оптимізація швидкості сайту WordPress
5088 UAH
повні деталі надішлемо в особисті повідомлення Мета Максимально прискорити завантаження сайту, особливо на мобільних пристроях. KPI (обов'язково) Після завершення робіт необхідно досягти наступних показників. Mobile Performance 90+ LCP менше 2.2 сек INP менше 200 мс CLS менше… HTML та CSS верстання, Javascript та Typescript ∙ 1 день 11 годин тому ∙ 62 ставки |
Інтеграція калькулятора вартості послуг на сайт Webflow
14 807 UAH
Шукаємо розробника для інтеграції готового калькулятора вартості послуг на наш сайт, створений на Webflow. Про компанію Ми займаємося: збіркою меблів; монтажем телевізорів; монтажем полиць, картин, дзеркал та інших предметів; moving help; heavy lifting; handyman послугами;… Javascript та Typescript, Веб-програмування ∙ 1 день 12 годин тому ∙ 58 ставок |
Шукаємо Odoo Developer — соло-розробника з досвідом розробки на Odoo 19 Community EditionЄ робочий, чисто спроектований проєкт на Odoo 19 Community — CRM для українського готелю, уже в production-grade інфраструктурі. Переписувати з нуля не плануємо. Шукаємо одну людину, яка підхопить проєкт, збереже працююче і поведе його далі: спершу CRM → потім HMS → бухгалтерія.… Javascript та Typescript, Веб-програмування ∙ 3 дні 13 годин тому ∙ 2 ставки |
Шукаю досвідченого Full Stack розробника для створення SaaS-сервісу для інтернет-магазинів.Ідея сервісу: Клієнт завантажує посилання на свій товарний фід (XML або CSV). Сервіс автоматично отримує товари, бере їхні фотографії та створює нові рекламні зображення за готовими шаблонами: ціна, знижка, логотип, акційні плашки тощо. Також у сервісі має бути простий редактор… Javascript та Typescript, Веб-програмування ∙ 4 дні 18 годин тому ∙ 87 ставок |