Wirtualizacja środowiska developerskiego, o czym warto pamiętać

Mój mąż ostatnio opisał jak postawić linuxowe środowisko developerskie na windowsie. Do tej pory nie ukrywam, że nie czułam wewnętrznej potrzeby analizowania jak on to robi, że działa to szybciej niż rozwiązania, które do tej pory wykorzystywałam. Dla mnie najistotniejszym było, że działała. Pewnego dnia kolega w pracy odbił się od muru wydajności wirtualnej maszyny. Zapora prawie nie do przejścia. Prawie, bo przecież moje edukacyjne maszynki działają wspaniale. Poprosiłam więc męża o tipa.

Artykuł powstał, szybko rozprzestrzenił się wśród developerów i zebrałam różnej jakości i treści feedback. Na prośbę innego kolegi przygotowałam więc prezentacje, która również została bardzo pozytywnie odebrana. Jednak dlaczego o tym piszę? Ponieważ chciałabym lekko uzupełnić artykuł męża o dość istotne dla mnie jako dla developera kwestie.

Repozytorium GIT

Sama maszynka niewiele warta jest dla developera. Najbardziej cenna jest aplikacja, która na niej chodzi i to czy i jak może ją rozwijać. Nieodłącznym narzędziem codziennej pracy jest repozytorium GIT. Aby móc w pełni korzystać z IDE potrzebuję móc mój kod commitować, rozwiązywać konflikty, mergować, pushować, pullować itd..

Oczywiście mogę to robić z poziomu konsoli ubuntu w windowsie, ale w przypadku konieczności rozwiązywania konfliktów, szczerze to sobie jakoś tego nie wyobrażam.

Rozwiązanie tego problemu jest banalne. Wystarczy zainstalować GIT również pod windowsem a nie tylko na maszynce.

Uprawnienia

Osobiście rekomenduję ustawianie uprawnień do zasobów na maszynce. Dlaczego? Ponieważ w wolnym tłumaczeniu brane jest pod uwagę najbardziej restrykcyjne ustawienie. Nie od dziś również wiadomo, że system plików, a co za czym idzie wachlarz uprawnień do zasobów jest różny pomiędzy windowsem a linuxem, toteż możemy stworzyć chimerę, która w ostatecznym rozliczeniu zmarnuje nam wiele godzin życia. Środowiska produkcyjne są, przynajmniej w moim przypadku, najczęściej linuxowe. W związku z tym stosuję zasadę by uprawnienia nadawać w linuxie. I to się per saldo sprawdza w 100%.

Simlinks a Windows

Tutaj również warto na chwilę przystanąć i się zastanowić nad good practices, ponieważ Windows ogólnie nie rozumie czym jest simlink linuxowy.

Aby lepiej to zobrazować spójrzmy na poniższy screen. Stworzyłam simlink do pliku menu.css

 

W windowsie jest on widoczny jako normalny plik:

 

Oznacza to, że podczas commitowania, w zależności od wersji naszego systemu, możemy napotkać różne problemy. Nie chcę w tym miejscu ich przytaczać, ponieważ postanowiłam poświęcić temu tematowi osobny artykuł ale krótki research Wujka Google z pewnością da Wam pewien obraz sytuacji.

Pocieszającym jest fakt, że zmiana czegokolwiek w tym pliku będzie powodowała zmianę w pliku docelowym. Osobiście jednak nie polecam commitowania simlinków.