Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Import projektu z gita, deployment
athabus
post 19.11.2010, 13:26:12
Post #1





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam,

mam takie pytanko. Załóżmy, że mam repozytorium gita z projektem.

Na serwerze produkcyjnym chciałbym uruchomić projekt tak, aby w każdej chwili móc go łatwo zaktualizować od najnowszej wersji z repozytorium. Pytanie jak to zrobić?

Oczywistym wydaje się "git clone repozytorium", ale pytanie czy dobrym pomysłem jest przechowywanie całego repozytorium na serwerze, gdzie zmiany mogą zajmować na prawdę dużo miejsca i pomijam już tu kwestie bezpieczeństwa.

Czy jest jakiś lepszy sposób na to?
Go to the top of the page
+Quote Post
mike
post 19.11.2010, 14:25:20
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Ja bym przede wszystkim postawił narzędzie co Continuous Integration, które pobierze Ci kod źródłowy i zbuduje projekt.
Przy czym wykona jakąś tam walidację kodu, testy, wygeneruje dokumentację, e.t.c. a potem zrobi deploy na serwer produkcyjny.

Postaw do tego Hudson'a. Można go zintegrować z PHP.
Nie wiem czy znasz tego typu narzędzia ale zastosowanie go wydaje się być najrozsądniejsze.
Go to the top of the page
+Quote Post
athabus
post 19.11.2010, 14:51:46
Post #3





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Dzięki za odpowiedź. Wygląda ciekawie, ale chyba zbyt skomplikowane podejście dla mojego małego projektu.

Niemniej w wolnej chwili poczytam bo lubię takie zabawki :-)

Wracając do tematu, to szukam czegoś prostszego - nie wiem czy jest jakieś dobre podejście opierające się o samego git'a?
Go to the top of the page
+Quote Post
mike
post 19.11.2010, 14:55:44
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(athabus @ 19.11.2010, 14:51:46 ) *
Wracając do tematu, to szukam czegoś prostszego - nie wiem czy jest jakieś dobre podejście opierające się o samego git'a?
No właśnie złe winksmiley.jpg dlatego zaproponowałem narzędzie pośrednie. Serwer ciągłej integracji.
Napisanie jakiegoś skryptu, który zrobi pull'a z repozytorium i wgra co trzeba tam gdzie trzeba nie będzie trudne ale za mało kontroli nad tym będziesz miał.
Pamiętaj, że w repo może wpaść wszystko. Jakieś literówki, pomyłki, błędy, e.t.c. a Ty chcesz to od razu na produkcję pchać.
Hudson zapewni, Ci, że to co masz w repo przejdzie przez sito sprawdzania poprawności i dodatkowo będzie ewidencjonowane. Dostaniesz informację, która wersja się zbudowała (choć to tylko PHP) a która nie. No i zawsze będziesz wiedział, która rewizja aktualnie biega po produkcji. Ja bym poszedł w ciągłą integrację tym bardziej, że jak już spróbujesz to okaże się, że to wcale nie jest złożone.
Go to the top of the page
+Quote Post
athabus
post 19.11.2010, 15:06:33
Post #5





Grupa: Zarejestrowani
Postów: 898
Pomógł: 48
Dołączył: 2.11.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


W sumie to może i masz rację. Do tej pory stosowałem podejście z gałęziami gdzie gałąź master była tym co zawsze działało z testami etc. Czyli struktura była mniej więcej taka:

-Master (zawsze gotowa do publikacji)
--Dev (tu wszystko musi przechodzić testy aby trafić do master - taka przejściówka, aby śmieci nie trafiały do mastera)
---Gałęzie wychodzące z wersji dev

Twoje podejście jest fajne - jedyne co mnie martwi, że cała ta "otoczka" zaczyna wyglądać śmiesznie w porównaniu z skryptami, które piszę - sam rozumiesz, klepie sobie skrypty amatorsko w domu, a stosuje rozwiązania o których nawet wiele kiepskich firm informatycznych/agencji nie słyszało ;-)
Z drugiej strony tak samo myślałem o kontroli wersji, a teraz nie wiem jak sobie radziłem bez niej.

W weekend przetestuje bo z opisu wygląda dość skomplikowanie, ale skoro piszesz, że nie jest tak źle to spróbuję.
Go to the top of the page
+Quote Post
krowal
post 22.01.2011, 09:13:25
Post #6





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Może coś takiego jak springloops będzie Ci odpowiadało. Niestety to nie GIT tylko SVN, ale polecam zajrzeć, chociażby dlatego, że to polski projekt i niestety chyba dość mało znany. Jest to zwykłe repozytorium SVN, do którego można podpiąć automaty robiące automatycznie/manualnie (wg ustawień) przerzut plików na serwer ftp. Do każdego projektu można dodać kilka takich deploy'ów. Niestety darmowe konto ma limit jednego serwera ftp na projekt, na który można zrobić trzy deploye w ciągu dnia. Przy małych prywatnych projektach wystarcza. smile.gif

Ten post edytował krowal 22.01.2011, 09:14:28


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
wookieb
post 22.01.2011, 09:49:42
Post #7





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A hudson jest darmowy i możesz z nim robić co chcesz. Nie wspomnę o takich drobnostkach jak przegranie na FTP.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.05.2024 - 02:52