Hejka, macie jakies fajne sprawdzone zrodlo z info jak uzyc AWS by moc robic deploy na serwer przy pomocy docker containers?
Ja zrobiłem tak ze dodałem nowego usera, nadałem mu uprawnienia tylko do odczytu z ECR.
Potem dodałem sobie https://github.com/awslabs/amazon-ecr-credential-helper na serwerze gdzie chcę pobierać obrazy z AWS, dodaję credentials i tyle.
Reszta już leci jak chcę.
Chyba że chcesz użwać AWS CodePipeline
No to sie okazuje ze w miedzyczasie robilem bardzo podobnie. Ot sadzilem ze jakas wieksza logika w tym powinna siedziec
Co by nie tworzyc kolejnego tematu, mam kolejne pytanie:
chcialbym teraz wrzucic na serwer kod ale wlasnie przez container/image. Ok, wrzucic moge bez problemu do obrazu i zrobic push a jak potem na serwerze pobrac ten kod z obrazu. volume dziala w druga strone, ze katalog hosta wrzucam do contenera, a ja bym chcial teraz odwrotnie, ze katalog z obrazu wrzucic do hosta.
Podpinasz volumen i masz dostęp tylko do niego z poziomu kontenera - ale na serwerze pliki również się zmieniają.
Może też chodzić Ci o pobranie np. zależności które zostaną zbudowane w kontenerze do cache (itp) - jak tak kiedyś robiłem gitlab ci:
docker cp tmp_image:/opt/serwer/vendor ./vendor
script: - docker build --build-arg environment=$ENVIRONMENT --build-arg gulp=$GULP -t $IMAGE:$CI_COMMIT_TAG . - docker push $IMAGE:$CI_COMMIT_TAG after_script: - rm -rf ./vendor - docker create -ti --name tmp_image $IMAGE:$CI_COMMIT_TAG bash - docker cp tmp_image:/opt/serwer/vendor ./vendor - docker rm -fv tmp_image
No generalnie chce skopiowac kod z kontenera/obrazu na serwer. voluminy odpadaja bo dzialaja w wielki skrocie w druga strone.
pozostaje wiec tylko DOCKER CP ? Nie wiem czemu, ale myslalem ze jest jeszcze jakies inne rozwiazanie
Z ciekawości zapytam - jakie rzeczy chcesz kopiować z obrazu na dysk?
Kod aplikacji razem z wendor i innymi rzeczami potrzebnymi dla aplikacji
@aras dzieki za twoj pipeline, bardzo mi pomogl.
A jak masz cos do dyskusji jeszczre tutaj to chetnie pogadam
@nospor chyba nie mam nic do dodania. Jedynie mogę powiedzieć jak dzisiaj działam Tworząc projekty - tak aby kosztowo nie popłynąć, a mieć całkowitą swobodę działania:
1. Repo przeważnie siedzi na gitlabie i tam też korzystam CI oraz storage dla zbudowanych obrazów (gitlab-ci.yml + dockerfile).
2. APKI zawsze są bezstanowe, a dodatkowo stawiam/kupuję bazę i s3 dla plików (ostatnio m.in. wasabi)
3. Kupuje jakiś serwerek np. na hertzner i instaluję tam docker swarm (lub np. portainer.io) - kiedyś był kubernetes ale jednak bardziej przyjazne i lepiej znana jest mi struktura z docker-compose.yml. Na takim czymś wrzucam sobie normalnie docker-compose i mam kontenery jakie chce i ile chce.
4. Podpięcie domen zawsze robię przez cloudflare, jest szybko i przyjemnie
Wiem, że kilka osób może zapytać dlaczego nie AWS itp. - kiedyś było to związane z kosztami, a dzisiaj? po prostu wszystko działa to nie zmieniam
Sam sposób umieszczania apki jest mało istotny bo i tak najważniejsza jest baza danych i ew. pliki - robię kopię bardzo często (kilka razy dziennie), a samą apkę nie muszę, jest na gitlabie i gdzieś siedzi lokalnie.
Dockerfile mam stworzone pod siebie i w nim mam już nginx (symfony), php8.1 i inne rozszerzenia + obsługę cronów (przez konkretne pliki).
dzieki, po swietach moge miec pare pytan do Ciebie jesli mozna
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)