Cześć. Wahałem się czy zakładać ten wątek ale może przyda się wielu innym osobom.
Jest wiele artykułów jak pisać aplikacje, jak robić pewne rzeczy z dockerem ale nie udało mi się znaleźć obszernego materiału, który pokazałby cały proces. Np. git clone symfony demo app, budujemy obraz dockerowy, uruchamiamy aplikację na środowisku testowym i puszczamy testy, gdy wszystko jest ok robimy deploy na VPS (czyli chyba uruchamiamy obraz na VPSie?).
Oczywiście wiem jakie kroki należy wykonać (co opisałem) ale chodzi mi o poprawne podejście do tematu, best practices.
Nasuwa mi się kilka pytań.
- Czy aplikacja na środowisko testowe powinna być już uruchamiana w formie obrazu dockerowego? Co jeśli nie przejdzie testów? Wtedy niepotrzebnie otagowaliśmy obraz i zrobiliśmy push do docker huba.
- Jak wdrożyć taką aplikację na VPS? Przecież muszę to jakoś uruchomić, pod jakimś adresem (przyjmijmy, że to apka webowa)
- Co ze zmiennymi środowiskowymi? Jak to rozbić na środowisko testowe oraz produkcyjne?
- Czy VPS powinien zawierać zmienne środowiskowe czy jednak uruchamiając docker run przekazujemy te zmienne z jakiegoś innego miejsca?
- Co z bazą danych w przypadków testów, jak zdefiniować to w docker compose że do testów jest jednak baza, a żeby na serwer produkcyjny jednak nie leciał container z bazą danych.
Pytania wydają się banalne ale nie pracuję jako devops, a chcę "załatać" moje braki w wiedzy (tak, wiem że to podstawy).
Thank you for the mountain ;)