Cześć. Pytanie do Devopsów jak budować i uruchamiać aplikację.
Mam apkę napisaną w NestJS, która po wykonaniu komendy
npm run build
utworzy katalog dist/ w glownym folderze i przygotuje (prawie) gotowy kod do wrzucenia na serwer. Dlaczego prawie? Bo na serwerze muszę i tak zrobić npm install żeby mieć katalog node_modules aby apka wstała.
I teraz moje pytanie... jak wy, jako devopsi wdrażacie takie aplikacje na produkcję, jak wyglada proces, pipeline?
- Czy po pozytywnych testach budujecie obraz aplikacji (kod + nodejs), a następnie na VPSie uruchamiacie obraz przez
docker run -p 80:3000 app-image
ze zmiennymi środowiskowymi, bez nginx bo apka ma juz własny wbudowany serwer?
-
Czy moze nie budujecie obrazu i wrzucacie zawartości katalogu dist gdzieś do /var/www/html, następnie dorzucacie package.json i robicie npm install? Ale co wtedy z nodejs, przecież bez sensu żeby host w ogóle wiedział o tym, że potrzebny jest nodejs. To apka powinna go zawierać, konkretną wersję nodejs, prawda?
-
A może jest jeszcze inny sposób?
Nie mogę znaleźć informacji jak takie aplikację są wdrażane. Wszystko jest opisane od kodu do budowania obrazu i koniec. Ale co dalej? Jak wyglada idealne wdrożenie? Czy bazuje na uruchomieniu obrazu? Ale co gdy ruch jest duży i potrzebny jest load balancer, wtedy takie uruchomienie obrazu jako kontenera jest bez sensu...
Nie jestem devopsem więc stąd te głupie pytania. Dzięki i pozdro