Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 29.07.2014 Ostrzeżenie: (0%)
|
Witam. Od jakiegoś czasu piszę mniejsze i większe stronki główne hobbystycznie zarówno front-end (html/css/js) jak i back-end (php). Do tej pory działałem bardzo chałupniczo, tzn całe kodowanie odbywało się bezpośrednio na FTP na zwykłym hostingu www. Gdy potrzebne były jakieś bilblioteki np. bootstrap czy coś z PHP to po prostu to pobierałem, wgrywałem na serwer i dołączałem do projektu - tyle. Uczę się teraz lepszych praktyk bo wiem że to złe.
Tak więc przez ostatnie dni zmieniłem to: 1. Przeniosłem się z pracy na serwerze na lokalny (xampp). 2. Wprowadziłem narzędzie npm i od teraz nim instaluję pakiety potrzebne przy frontendzie (bootstrap, jquery itp) zamiast ręcznie. W katalogu projektu mam teraz folder node_modules i package.json z używanymi pakietami. 3. Do npm wprowadziłem gulp który od teraz łączy mi wszystkie pliki js i css w pojedyncze wraz z tymi z node_modules, minifikuje itp, na stronie mam załadowane tylko te wynikowe. Do projektu dołączył plik gulp.js. 4. Wprowadziłem composer który instaluje mi zewnętrzne bilblioteki PHP. Do projektu dołączył folder vendor i composer.json Pytanie co dalej? Moim kolejnym krokiem powinno być chyba GIT. Gdy o nim czytam to wszędzie mówi się o nim w kontekście pracy zespołowej. Ja jednak obecnie piszę dane rzeczy w pojedynkę, i nie jako publiczne projekty tylko własne stronki. Chcę go jednak wykorzystać jako jedyne poprawne rozwiązanie na sposób pracy nad serwisem - nie wiem czy słusznie. Chodzi o to by nie edytować wszystkiego przez FTP, tylko by to szło jakoś przez GIT - pytanie jak? Czy dobrze rozumiem że to powinno wyglądać tak: 1. Piszę sobie jakąś stronę w PHP i testuję jej działanie na lokalnym serwerze. 2. To co zrobiłem działa i chcę by znalazło się na serwerze WWW. 3. Robię więc commita do jakiegoś prywatnego repozytorium np. na github mojego kodu, ale z pominięciem plików wygenerowanych przez gulp, bez pakietów npm i composera. 4. Na serwerze www przez zainstalowane na nim wszystkie narzędzie najpierw pobieram całą obecną zawartość z gita, potem instaluje zależności pakietów npm i composera a na koniec odpalam gulpa by wykonał wszystkie operacje na plikach js i css. I strona działa. 5. Dodając w przyszłości jakąś nową funkcjonalność znowu wgrywam wszystko z komputera na githuba, z githuba na serwer i odpalam npm, composera by sprawdził czy nie doszły jakieś nowe pakiety wymagane i odpalam gulpa. 1. Czy tak to powinno wyglądać? Czy jeszcze jakiegoś podstawowego narzędzia brakuje? 2. Czy powinienem te wszystkie operacje z npm, composerem itp wykonać na serwerze, czy na gita wgrać jednak już komplet plików razem z tymi skompresowanymi przez gulp? 3. Co jeżeli ja mam zwykły hosting www? Da się to wszystko jakoś ogarnąć, czy git i inne narzędzia wtedy tracą sens? Czy do każdego serwisu wtedy potrzebuję vps by to mogło działać? Ogólnie proszę o podzielenie się tym jak to wygląda u Was, jak ta praca (głównie w pojedynkę jeśli tak też zdarza Wam się pracować) jest zorganizowana by to miało ręce i nogi? Pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 516 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%)
|
1. bardzo dobrze że nie pracujesz już tylko przez ftp bo to bez sensu
2. za npm i gulpa bardzo duży +, tak się teraz pracuje i sam widzisz jak to ułatwia temat 4. composer to samo do php'a naucz się dowolnego frameworka - to nic strasznego, a wręcz przeciwnie. Skoro nie bałeś się npm'a to szybko się przekonasz że frameworki php to bardzo duży strzał jakości i szybkości Twojej pracy. Jaki na początek ? Bardzo dużo osób zaczyna chociażby od Codeignitera - w tym również ja, bo jest mega łatwy do ogarnięcia i ma bardzo dobrą dokumentacje w tym również po Polsku. Może też być dowolnie inny, zacznij od czegokolwiek a odkryjesz zupełnie nową jakość pisania kodu. Co dalej: 1. Tak, zawsze 2. Na serwer produkcyjny wrzucasz ZAWSZE TYLKO działającą wersje programu 3. Nie musisz aktualizować serwera poprzez repozytorium, chociaż też jest to rozwiązanie. Ja zawsze wersje produkcyjną wrzucam zwyczajnie przez ftp - przecież nie robi się tego codziennie. Można to zautomatyzować na wiele sposobów, najprościej i najbezpieczniej jednak wg mnie jest to robić ręcznie. 4. Po co masz kompilować pliki na serwerze ? Przecież od tego masz serwer lokalny. Tak jak w pkt 1. na serwer produkcyjny wrzucasz już tylko gotowe pliki. Folder npm_modules ma działać tylko na serwerze lokalnym, nie wrzucaj go na produkcje i też wyklucz ten folder z z GIT'a poprzez plik .gitignores. 5. tak jak wyżej. Na serwerze produkcyjnym pod żadnym pozorem nie kompilujesz bibliotek , nie robisz aktualizacji compozera oraz npm'a (IMG:style_emoticons/default/exclamation.gif) ! Co jak po aktualizacji strona przestanie działać prawidłowo ? Od tego masz serwer lokalny. Co do GIT'a. Z początku konsola odpycha, do tej pory nie lubię z niej korzystać ale nie ma biedy bo jest już wiele fajnych GUI. Polecam Ci program "sourceTree". Zarejestruj konto na bitbucket. Na githubie prywatne repozytoria są płatne, na bitbucket masz za darmo do pewnej ilości - chyba do 10 repozytoriów. Ja pracuje głównie w pojedynkę i bez gita nie wyobrażam sobie pracy. Nie zadawaj sobie pytania po co mi to, tylko uwierz że skoro każdy szanujący się programista tego używa to coś w tym musi być. Korzystanie z systemu kontroli wersji niesie z sobą tylko same plusy i nie ma co się tutaj nad tym rozwodzić, po prostu zacznij stosować a się przekonasz. Zapoznaj się też z terminem "gitflow", program sourceTree ma fajne wsparcie dla tego modelu. Ten post edytował gitbejbe 27.10.2017, 04:58:09 |
|
|
|
nyfko Poprawne praktyki przy programowaniu serwisu 25.10.2017, 20:50:36
nospor CytatJa zawsze wersje produkcyjną wrzucam zwyczajn... 27.10.2017, 07:20:32
Pyton_000 Generalnie to...
- Pakiety Composer instaluje się... 27.10.2017, 07:45:19
nospor CytatOczywiście jeśli jesteś sam lub nawet 2-3 oso... 27.10.2017, 08:23:38
Pyton_000 Konsola GIT to podsawa. Jak jeszcze masz fajne ali... 27.10.2017, 08:31:51
nospor CytatJak jeszcze masz fajne aliasy porobione to pr... 27.10.2017, 08:32:32
gitbejbe Stety czy niestety ale nie miałem tej przyjemności... 27.10.2017, 10:11:32
Pyton_000 Tak nadmienię jeszcze na temat GitFlow. Nie zawsze... 27.10.2017, 10:21:56
markuz Ja używam GIT nawet jak piszę sam, dzięki czemu wi... 27.10.2017, 11:29:44
nyfko Bardzo dziękuje za konkretne odpowiedzi
Tak więc... 27.10.2017, 13:12:05 
trzczy Cytat(nyfko @ 27.10.2017, 13:12:05 ) ... 7.11.2017, 19:55:59
Pyton_000 dla PHP np. Deployer, Rocketer 27.10.2017, 13:30:06 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 11:17 |