konto usunięte

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Chciałbym rozeznać się w temacie efektywnej pracy na zdalnych środowiskach deweloperskich. Do tej pory jako maszyny deweloperskiej używałem Ubuntu z podmontowanymi projektami po SSHFS i nie było problemu (jako IDE używam NetBeans). Niestety jestem zmuszony chwilowo popracować pod M$ Windows. Pierwsza próba podmontowania projektu w Symfony po sambie spowodowała zawieszenie się NetBeansa. To samo przy próbje zamontowania projektu w Zend Framework. NB skanuje pliki, zatrzymuje się na 40% i tak sobie mogę czekać pół dnia. Czy macie jakieś propozycje jak skutecznie pracować w takich środowiskach? Może to kwestia konfiguracji NB pod windowsem? A może polecacie jakieś inne środowiska. Generalnie zależy mi na tym aby:
+ pracować pod M$ Windows
+ efektywnie pracować na zdalnym repozytorium zawierającym zwykle kilka tysięcy plików,
+ swobodnie nawigować między klasami (CTRL + klik w nazwę funkcji / metody przenosi do odpowiedniego pliku)
+ wczytanie projektu nie powinno trwać się dłużej niż 5 min (w sieci lokalnej o przepustowości 1GB/s)
+ proponowane rozwiązania mogą być płatne ale w pierwszej kolejności preferuje darmowe
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

W pierwszej kolejności nie montuj systemu plików. To według mnie nie jest repozytorium kodu :)

Aby efektywnie rozwijać/utrzymywać kod potrzebujesz systemu kontroli wersji. Jeżeli posiadasz komputer/serwer możesz założyć repozytorium w jednym z darmowych narzędzi np Subversion lub GIT. Działa to tak, że na serwerze przechowujesz kod wraz z całą historią zmian. Masz możliwość aktualizacji kodu a jak coś nie wypali to zawsze możesz cofnąć się do poprzedniego stanu. Praca z kodem wygląda tak, że robisz sobie mirror na lokalny komputer. Pracujesz sobie na takiej kopii roboczej a po zakończeniu zmian wrzucasz na serwer pliki które zmieniałeś. Na serwerze którego zasoby do tej pory montowałeś także zrób kopię. Po wrzuceniu zmian do repozytorium potem po prostu zaktualizuj kopie.

W taki sposób wykonuję np aktualizację kodu na serwerach produkcyjnych. Mam kod w repo w gałęzi o nazwie trunk. Pracuję na lokalnej kopii i jak jestem pewien zmiany to wrzucam na repo. Jak mam grubszą zmianę do robię sobie gałąź na boku i do niej wrzucam a następnie aktualizuję sobie z tej gałęzi serwer testowy.
Jak już wsyzstko jest ok to łączę się do serwera produkcyjnego i wykonuję update z konsoli. Wszystkie zmiany wprowadzają się automatycznie.

Netbeans posiada pełne wsparcie dla obu przykładowych systemów kontroli wersji. I pozwala porównywać stany plików z odpowiednich rewizji. Przykład z aktualizacją kilku kopii roboczych (Jedna kopia w Netbeans a druga w katalogu obsługiwana z konsoli) tutaj.

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Czasem się zastanawiam skąd się biorą takie genialne pomysły jak montowanie zdalnego systemu plików jako substytut narzędzia kontroli wersji ??

Bierzesz GIT +- SourceTree i jedziesz. Wystarczy zadać proste pytanie dla wujka google.Ten post został edytowany przez Autora dnia 16.12.15 o godzinie 17:34
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Sebastian O.:
Czasem się zastanawiam skąd się biorą takie genialne pomysły jak montowanie zdalnego systemu plików jako substytut narzędzia kontroli wersji ??

Bierzesz GIT +- SourceTree i jedziesz. Wystarczy zadać proste pytanie dla wujka google.

Wiesz też tak robiłem przez pół roku... bo nikt mi nie pokazał niczego innego. Potem przestało spełniać oczekiwania oraz zaspokajać potrzeby. Na studiach było programowanie grupowe ze wspólnym dyskiem na sambie... Uczyli i uczyli ale niczego co się używa profesjonalnie nie nauczyli. Mogli chociaż pokazać albo wspomnieć...

konto usunięte

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Sebastian O.:
Czasem się zastanawiam skąd się biorą takie genialne pomysły jak montowanie zdalnego systemu plików jako substytut narzędzia kontroli wersji ??

Bierzesz GIT +- SourceTree i jedziesz. Wystarczy zadać proste pytanie dla wujka google.

Nie wiem czemu od razu błędnie założyłeś że nie korzystam z żadnego systemu kontroli wersji i już od razu odsyłasz mnie do wujka google.

Wracając do tematu GIT już jest podłączony i jak najbardziej działa i z niego korzystam. Chodzi o to że maszyny deweloperskie są zdalne. Projekt na którym pracuję stanowi obszerne środowisko którego w żaden sposób nie da się lokalnie dewelopować na komputerze ze względu na skomplikowaną konfigurację. Sama baza danych zajmuje przeszło 80 GB.

Generalnie maszyny deweloperskie są postawione na Dockerach. Każdy programista ma własnego Dockera na którym może dewelopować. Po wprowadzeniu i przetestowaniu zmian wrzuca kod do głównego repo GITa. Dzięki automatyzacji zrealizowanej za pomocą ansible odtworzenie "noda deweloperskiego" to kwestia kilku minut. Gdyby każdy programista chciał sobie codziennie odtwarzać środowisko na komputerze to zajęło by mu to kilka godzin bo warunkiem koniecznym do pracy jest odtworzenie bazy z dnia poprzedniego.
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Twoj problem jest nierozwiazywalny. Nie znam srodowiska ktore dobrz: dzialalo by przy tak duzej ilosci plikow po udziale. To moze lepiej zrob sobie linuxa na vboxie.
Piotr Dworzański

Piotr Dworzański Szeroko usposobiony
informaty oraz
pełnym pasji
biznesmenem

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Witam,
Przeprowadź testy z użyciem protokołu nfs. Jest to najbardziej wydajny mi znany protokół, który powinien sprostać oczekiwaniom.
Pozdrawiam
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Tak powinien. Miałem taką aplikację ok 60k plików i podłączałem sobie po nfs. Eclipse wymiękł na 18% sprawdzania. Skopiowałem projekt na lokalny dysk - przeszło gładko...
powinno != jest
w większości przypadków

konto usunięte

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Piotr D.:
Witam,
Przeprowadź testy z użyciem protokołu nfs. Jest to najbardziej wydajny mi znany protokół, który powinien sprostać oczekiwaniom.
Pozdrawiam

A czy polecasz jakiś soft pod Windowsa który zrealizuje mi takie połączenie?
Piotr Dworzański

Piotr Dworzański Szeroko usposobiony
informaty oraz
pełnym pasji
biznesmenem

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Zależnie od tego jaką masz wersję Windowsa można to zrealizować za pomocą wbudowanego klienta, lub klienta zewnętrznego. Bawiłem się tym kiedyś w wersji wbudowanej w system. Tutaj masz instrukcje https://technet.microsoft.com/pl-pl/library/cc732891.aspx
Jeśli nie masz takiej możliwości to pozostaje klient zewnętrzny np tutaj ktoś coś udostępnił.
http://www.elektroda.pl/rtvforum/topic2409476.html
Pozdrawiam
Piotr Dworzański

Piotr Dworzański Szeroko usposobiony
informaty oraz
pełnym pasji
biznesmenem

Temat: Efektywa praca na zdalnym repozytorium kodu PHP

Marcin M.:
Tak powinien. Miałem taką aplikację ok 60k plików i podłączałem sobie po nfs. Eclipse wymiękł na 18% sprawdzania. Skopiowałem projekt na lokalny dysk - przeszło gładko...
powinno != jest
w większości przypadków
Środowisko środowisku nie jest równe. Jak nie ma możliwości pracy na lokalnych danych to jest to opcja warta przetestowania. Przyczynom niepowodzenia może być choćby program antywirusowy a niekoniecznie sam temat zdalnego repozytorium.



Wyślij zaproszenie do