Autodeploy z GitLab’a

Zombie
roberto2940
roberto2940

Jak dokonać tego aby serwer vps automatycznie pobierał pliki z gitlab'a gdy tam trafią nowe pliki/zmiany.

KQTK
KQTK

Corntab i komenda git.... co x godzin

roberto2940
roberto2940

Totalnie nie o takie rozwiązanie chodzi.

Timo
Timo Moderator forum.lvlup.pro

Jeśli jest to jakaś aplikacja, możesz skorzystać z gotowego narzędzia od GitLaba: https://docs.gitlab.com/ee/topics/autodevops/ Ale jeśli potrzebujesz trafniejszej odpowiedzi to opisz, co dokładniej chciałbyś osiągnąć.

roberto2940
roberto2940

Chciałbym osiągnąć to: Mam repo na gitlab'ie i ze swojego komputera wysyłam ("pushuje") zmiany w plikach do tego repozytorium na gitlab'ie. Gdy dane dotrą do gitlab'a, gitlab wysyła zapytanie do VPS'a po to aby VPS pobrał zaktualizowane pliki.

SystemZ
SystemZ Admin lvlup.pro

Jakiego typu do są pliki? Podaj więcej szczegółów. Czy jest to jakaś strona? W zależności co chcesz osiągnąć są różne dobre sposoby na to.

Ogólnikowo da się po prostu odpalić kontener Docker'a z SSH w Gitlab CI i od razu przy git push odpali się kontener w GCP, zaloguje na VPS i wrzuci przez SSH co trzeba i gdzie trzeba.

roberto2940
roberto2940

Pliki .js Konkretniej to aplikacja w nodejs. W sumie do strony też by się takie rozwiązanie przydało. :slight_smile: Prosiłbym jeszcze o jakieś objaśnienie :slight_smile:

tirex
tirex

Możesz stworzyć w gitlabie pipeline, którą konfiguruje się w pliku .gitlab-ci.yml Pipeline uruchamia się zaraz po wrzuceniu zmian do Twojego repozytorium. Możesz stworzyć konfigurację, która wrzuci Ci stronę na Twój serwer VPS.

Masz tutaj dokumentację po angielsku, z której można wszystko łatwo zrozumieć: https://docs.gitlab.com/ee/ci/quick_start/

Tutaj przykładowa konfiguracja aplikacji w nodejs: https://dev.to/6thcode/how-to-set-up-a-cicd-environment-on-gitlab-using-nodejs-jh3

Jak będziesz mieć nadal jakieś problemy to chętnie na nie odpowiem.

roberto2940
roberto2940

Pytanie jak podłączyć vps 😕

tirex
tirex

Najbardziej zalecanym sposobem jest umożliwić logowanie przy użyciu klucza prywatnego i wykonywać komendy na zdalnym serwerze przy użyciu komendy ssh, a pliki możesz uploadować przy użyciu komendy scp.

Link do dokumentacji użycia prywatnych kluczy razem z Gitlab CI: https://docs.gitlab.com/ee/ci/ssh_keys/

A tutaj kod z tej prezentacji: https://gitlab.com/gitlab-examples/ssh-private-key/

roberto2940
roberto2940

Rozwiązane podobnym sposobem: https://github.com/olipo186/Git-Auto-Deploy

system
system

Ten temat został automatycznie zamknięty 32 dni po ostatnim wpisie. Tworzenie nowych odpowiedzi nie jest już możliwe.