Jestem jednym z dwóch programistów oprogramowania wewnętrznego (napisanego w języku Python) w mojej firmie. Oprogramowanie to aplikacja serwerowa zaprojektowana do działania na dedykowanym urządzeniu Linux. Obecnie mamy jedno pudełko przechowujące nasze repozytorium SVN, które służy również do testowania. Problem polega na tym, że rozwijam go na mojej stacji roboczej za pomocą Eclipse w systemie Windows i ta aplikacja nie może działać w systemie Windows.
Jak właściwie zorganizować takie środowisko, aby nie stracić cennego czasu na przesłanie projektu i kodu, aby móc go przetestować?
Obecnie robię svn checkout, zmieniam trochę kodu, a następnie przesyłam go na serwer programistyczny w celu przetestowania (nie przez svn). Przetestuj na serwerze, zmień coś, przetestuj ponownie itp. Po tym wszystkim następuje zatwierdzenie. Ciągłe przesyłanie i testowanie doprowadza mnie do szału. Próbowałem zachować projekt na serwerze (pobieranie do katalogu domowego), ale powoduje to wiele problemów z Eclipse.
Oczywiście nie mam w tym dużego doświadczenia, więc pytam, jakie są najlepsze praktyki dotyczące tego rodzaju problemów?
źródło
Moim zdaniem najlepszym rozwiązaniem byłoby użycie zwirtualizowanego środowiska do testowania, jeśli komputer lokalny ma zasoby, aby go uruchomić.
W przypadku niektórych rekomendacji dotyczących konkretnych produktów możesz zobaczyć moją odpowiedź na pytanie na StackOverflow , ale ogólnie oznacza to, że będziesz mieć drugi komputer z systemem Linux działający w bieżącym. Cały czas używam tego do programowania PHP w Windowsie i działa naprawdę dobrze dla mnie. Możesz udostępnić swoją bazę kodów SSH / ExpanDrive lub jeśli korzystasz z VirtualBox, sprawdź foldery współdzielone .
źródło
Sugestia 1: pracuj bezpośrednio w systemie Linux, jeśli masz czas na naukę. Uczenie się, jak działa inny system operacyjny, jest naprawdę świetne dla twojego osobistego doświadczenia, a dodawanie do CV, że wiesz, jak korzystać z Linuksa, nie boli. Ponadto Eclipse istnieje w systemie Linux, więc nie tracisz niczego w porównaniu z Windows.
Sugestia 2: zainstaluj Linux na maszynie wirtualnej lokalnie. Umożliwi to przetestowanie aplikacji bez konieczności każdorazowego publikowania jej na odległym serwerze.
Uwaga: w jaki sposób możesz napisać aplikację skierowaną do systemu Linux, jeśli pracujesz w systemie Windows? To koszmar!
źródło
Jeśli używasz Eclipse, masz dla Ciebie idealną wtyczkę: Filesync Używam jej cały czas i jestem pewien, że spodoba ci się.
Oto, co zwykle robię, ponieważ pracuję w takich samych warunkach jak ty.
Sprawdzam projekt z SVN za pomocą Eclipse na moim komputerze. Następnie synchronizuję mój projekt lokalny ze zdalnym serwerem deweloperskim | z wyłączeniem plików takich jak .project i tym podobne. Polecam także umieścić klucz SSH na zdalnym serwerze, aby przyspieszyć połączenie.
I voila! Teraz możesz pracować lokalnie, a eclipse automatycznie zsynchronizuje wszelkie zmiany, które wprowadzisz na zdalnym serwerze. Kiedy wszystko jest już dobrze przetestowane i gotowe do dostarczenia, możesz zatwierdzić za pomocą eclipse! Nie potrzeba szpachli!
Mam nadzieję, że to pomoże!
źródło
Udało mi się napisać kod c # / mono w Visual Studio i zdalnie debugować na komputerze z systemem Linux z poziomu VS przy użyciu wtyczki zdalnego debuggera GDB. Działał niesamowicie dobrze. Wyobrażam sobie, że byłoby szybciej, gdyby instalacja Linuksa odbywała się na lokalnej maszynie wirtualnej (w Internecie jest dostępne fajne urządzenie VMWare Ubuntu), ale potrzebowałem zestawu kart graficznych Tesla, które nie zostały zainstalowane w moim laptopie.
Poszukaj WinGDB. Nie jest darmowy, ale działa niesamowicie dobrze.
źródło