Optymalizacja CI/CD
Przegląd Projektu
Technologia:
Frontend: React
Backend: Nest.js
Baza danych: MongoDB (z obsługą zestawu replik)
Używanie Nx Monorepo do zarządzania wieloma projektami frontend i backend, w tym 3 usługami frontend i 1 usługą API backend.
Środowisko wdrożeniowe:
Redis i MongoDB są wdrażane na własnych serwerach, nie korzystając z usług chmurowych.
MongoDB musi być skonfigurowane z zestawem replik, aby zapewnić prawidłowe obsługiwanie transakcji.
Podsumowanie wymagań
Optymalizacja pipeline'u i wdrożeń:
Utworzyć zautomatyzowany pipeline testowy za pomocą GitHub Actions.
Wdrażać tylko zmienione projekty, unikając zbędnej instalacji zależności i przebudowy obrazów.
Optymalizować proces budowania Docker, korzystając z cache i przyrostowych buildów, aby zmniejszyć zużycie miejsca i czas budowy.
Zarządzanie obrazami i kontenerami Docker:
Używać plików docker-compose do wdrażania usług.
Wdrażać tylko zmienione usługi, nie cały stack, zapewniając najkrótszy czas wdrożenia i najniższe zużycie zasobów.
Reinstalować zależności tylko wtedy, gdy się zmieniają, unikając reinstalacji przy każdym wdrożeniu.
Wymagania dotyczące bazy danych:
Wdrażać MongoDB z zestawami replik, aby zapewnić wysoką dostępność i obsługę transakcji.
Wdrażać Redis, aby zapewnić prywatność danych i obsługę podstawowego cache.
Optymalizacja zasobów i przechowywania:
Automatycznie usuwać stare obrazy i kontenery Docker, aby zmniejszyć zużycie miejsca.
Poprawić efektywność wdrożeń, korzystając z GitHub Actions i innych narzędzi automatyzacji.
Cele
Osiągnąć inkrementalne buildy i wdrożenia, zapewniając najkrótszy czas wdrożenia i najniższe zużycie zasobów.
Data dostawy: 1 dzień, maksymalnie 2 dni.
Przegląd projektu
Technologia stosowana:
Frontend: React
Backend: Nest.js
Baza danych: PostgreSQL (zamiast MongoDB)
Używanie Nx Monorepo do zarządzania wieloma projektami frontend i backend, w tym 3 usługami frontend i 1 usługą API backend.
Środowisko wdrożeniowe:
Redis i PostgreSQL są wdrożone na własnych serwerach, bez korzystania z usług chmurowych.
PostgreSQL musi być skonfigurowany do wysokiej dostępności i obsługi transakcji.
Podsumowanie wymagań
Optymalizacja pipeline'u i wdrożeń:
Utworzyć zautomatyzowany pipeline testowy za pomocą GitHub Actions.
Budować i wdrażać tylko te projekty, które się zmieniły, unikając zbędnej instalacji zależności i przebudowy obrazów.
Optymalizować proces budowania Docker, korzystając z cache i budowania przyrostowego, aby zmniejszyć zużycie miejsca i czas budowy.
Zarządzanie obrazami i kontenerami Docker:
Używać plików docker-compose do wdrażania usług.
Wdrażać tylko te usługi, które się zmieniły, a nie cały stack, zapewniając najkrótszy czas wdrożenia i najmniejsze zużycie zasobów.
Reinstalować zależności tylko wtedy, gdy się zmienią, unikając reinstalacji przy każdym wdrożeniu.
Wymagania dotyczące bazy danych:
Przeprowadzić migrację z MongoDB do PostgreSQL, zapewniając wysoką dostępność i obsługę transakcji.
Wdrożyć Redis, aby zapewnić prywatność danych i obsługiwać podstawowe potrzeby cache'owania.
Optymalizacja zasobów i przechowywania:
Automatycznie usuwać stare obrazy i kontenery Docker, aby zmniejszyć zużycie miejsca.
Poprawić efektywność wdrożeń, korzystając z GitHub Actions i innych narzędzi automatyzacji.
Cele:
Osiągnąć budowanie i wdrażanie przyrostowe, zapewniając najszybszy czas wdrożenia i najmniejsze zużycie zasobów.
Data dostawy: 2 dni, maksymalnie 3 dni.
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.
Plik z rezultatem
Opinia zleceniodawcy o współpracy z Revaz G.
Optymalizacja CI/CDZadanie zostało wykonane bardzo dobrze. Chociaż wystąpiły pewne bariery komunikacyjne, programista był bardzo cierpliwy.
Gorąco polecam współpracę i mam nadzieję, że znów będziemy mogli razem pracować w przyszłości.
-
Oferta, która wygrała5 dni756 PLN
16221 36 0 Oferta, która wygrała5 dni756 PLNWitaj Jiangzhe,
Dokładnie przeanalizowałem Twoje szczegółowe wymagania dotyczące optymalizacji pipeline'u CI/CD dla Twojego monorepo Nx oraz migracji bazy danych. Masz jasną wizję wydajnego i nowoczesnego procesu wdrażania.
Aby zapewnić wysoką jakość i niezawodność wyników, najlepiej podejść do tego jako do dwóch oddzielnych, istotnych projektów:
Optymalizacja pipeline'u CI/CD
Migracja bazy danych (MongoDB na PostgreSQL)
…
Ukończenie obu tych zadań, zwłaszcza skomplikowanej migracji bazy danych, w standardzie profesjonalnym w ciągu 2-3 dni nie jest możliwe.
Dlatego proponuję najpierw skupić się na osiągnięciu głównego celu, jakim jest optymalizacja CI/CD. Mam szerokie doświadczenie z GitHub Actions i Dockerem w środowiskach monorepo Nx.
Mój plan na optymalizację CI/CD to:
Implementację
nx affected commands w Twoim workflow GitHub Actions, aby testować i budować tylko te aplikacje, które faktycznie się zmieniły.
Optymalizację Twoich Dockerfile'ów, aby wykorzystać wieloetapowe buildy i cache warstw, co znacznie skróci czas budowania i rozmiar obrazów.
Udoskonalenie konfiguracji
docker-compose, aby umożliwić ponowne wdrożenie tylko zmienionych usług.
Dodanie automatycznego kroku czyszczenia, aby usuwać stare obrazy i kontenery Docker, oszczędzając miejsce na dysku.
Po pomyślnym usprawnieniu Twojego pipeline'u wdrożeniowego, chętnie przedstawię osobną, szczegółową propozycję migracji bazy danych.
Szacunkowy czas (tylko na optymalizację CI/CD):
Harmonogram: 5 dni
Cena: 750 USD
To podejście etapowe zapewnia natychmiastowe, wymierne poprawki w Twoim cyklu rozwoju. Jestem pewien, że mogę zbudować wydajny pipeline, którego szukasz.
-
2 dni1134 PLN
1824 81 0 2 dni1134 PLNMam doświadczenie i potrafię wdrożyć optymalizację wdrożeń.
Aktualne zlecenia dla freelancerów w kategorii Javascript & Typescript
Optymalizacja Core Web Vitals (OpenCart) pod Google PageSpeed — Wersje mobilna i PCOpis zamówienia: Poszukujemy doświadczonego frontend-dewelopera/specjalisty od OpenCart do optymalizacji szybkości ładowania strony (kategorie i karty produktów) zgodnie z wymaganiami Google Core Web Vitals. O projekcie: * CMS: OpenCart. * Specyfika: Strona działa w trybie… Content Management Systems, Javascript & Typescript ∙ 14 godzin 35 minut temu ∙ 14 ofert |
Optymalizacja prędkości strony WordPress
429 PLN
Pełne szczegóły prześlemy w wiadomościach prywatnych Cel Maksymalne przyspieszenie ładowania strony, szczególnie na urządzeniach mobilnych. KPI (obowiązkowe) Po zakończeniu prac należy osiągnąć następujące wskaźniki. Mobile Performance 90+ LCP mniej niż 2.2 sek INP mniej niż… Układ HTML i CSS, Javascript & Typescript ∙ 1 dzień 10 godzin temu ∙ 62 oferty |
Integracja kalkulatora kosztów usług na stronie Webflow
1247 PLN
Szukamy dewelopera do integracji gotowego kalkulatora kosztów usług na naszej stronie, stworzonej na Webflow. O firmie Zajmujemy się: montażem mebli; montażem telewizorów; montażem półek, obrazów, luster i innych przedmiotów; pomocą w przeprowadzkach; ciężkim podnoszeniem;… Javascript & Typescript, Programowanie stron internetowych ∙ 1 dzień 11 godzin temu ∙ 58 ofert |
Szukamy programisty Odoo — samodzielnego dewelopera z doświadczeniem w programowaniu na Odoo 19 Community EditionTo jest roboczy, czysto zaprojektowany projekt na Odoo 19 Community — CRM dla ukraińskiego hotelu, już w infrastrukturze produkcyjnej. Nie planujemy przepisywać od zera. Szukamy jednej osoby, która przejmie projekt, zachowa działające i poprowadzi go dalej: najpierw CRM → potem… Javascript & Typescript, Programowanie stron internetowych ∙ 3 dni 11 godzin temu ∙ 2 oferty |
Szukam doświadczonego programisty Full Stack do stworzenia usługi SaaS dla sklepów internetowych.Pomysł usługi: Klient przesyła link do swojego pliku produktowego (XML lub CSV). Usługa automatycznie pobiera produkty, pobiera ich zdjęcia i tworzy nowe reklamy na podstawie gotowych szablonów: cena, zniżka, logo, banery promocyjne itp. Usługa powinna również zawierać prosty… Javascript & Typescript, Programowanie stron internetowych ∙ 4 dni 17 godzin temu ∙ 87 ofert |