Ich bin einer von zwei Entwicklern für interne Software (in Python geschrieben) in meiner Firma. Software ist eine Serveranwendung, die auf einer dedizierten Linux-Box ausgeführt werden kann. Derzeit haben wir eine Box, die unser SVN-Repository enthält, und diese Box wird auch zum Testen verwendet. Das Problem ist, dass ich es auf meiner Workstation mit Eclipse unter Windows entwickle und diese App unter Windows nicht ausgeführt werden kann.
Wie kann eine solche Umgebung richtig organisiert werden, damit Sie beim Übertragen des Projekts und beim Testen des Codes keine wertvolle Zeit verlieren?
Momentan mache ich eine svn-Prüfung, ändere Code und lade ihn zum Testen auf den Entwicklungsserver hoch (nicht über svn). Teste es auf dem Server, ändere etwas, teste es erneut usw. Danach kommt das Commit. Dieses ständige Hochladen und Testen macht mich verrückt. Ich habe versucht, das Projekt auf dem Server zu belassen (checkout to home dir), aber dies verursacht eine ganze Reihe von Problemen mit Eclipse.
Offensichtlich habe ich nicht viel Erfahrung damit, also frage ich mich, was die besten Praktiken in Bezug auf diese Art von Problemen sind.
quelle
Die beste Lösung wäre meiner Meinung nach, eine virtualisierte Umgebung zum Testen zu verwenden, wenn Ihr lokaler PC über die Ressourcen verfügt, um eine auszuführen.
Für einige Empfehlungen zu bestimmten Produkten wird meine Antwort auf eine Frage zu StackOverflow angezeigt . Im Allgemeinen bedeutet dies jedoch, dass in Ihrem aktuellen PC ein zweiter Linux-PC ausgeführt wird. Ich benutze dies die ganze Zeit für die PHP-Entwicklung unter Windows und es funktioniert wirklich gut für mich. Sie können Ihre Codebasis entweder für SSH / ExpanDrive freigeben oder, wenn Sie VirtualBox verwenden, freigegebene Ordner auschecken .
quelle
Vorschlag 1: Arbeiten Sie direkt unter Linux, wenn Sie Zeit haben, es zu lernen. Zu lernen, wie ein anderes Betriebssystem funktioniert, ist für Ihre persönliche Erfahrung wirklich großartig, und Ihrem Lebenslauf hinzuzufügen, dass Sie wissen, wie man Linux verwendet, schadet nicht. Eclipse gibt es auch unter Linux, sodass Sie im Vergleich zu Windows nichts verlieren.
Vorschlag 2: Linux lokal auf einer virtuellen Maschine installieren. Damit können Sie die Anwendung testen, ohne sie jedes Mal auf einem entfernten Server veröffentlichen zu müssen.
Hinweis: Wie können Sie möglicherweise eine Anwendung schreiben, die Linux als Ziel hat, wenn Sie mit Windows arbeiten? Es ist ein Albtraum!
quelle
Wenn Sie Eclipse verwenden, gibt es ein perfektes Plugin für Sie: Filesync Ich benutze es die ganze Zeit und ich bin sicher, dass Sie es lieben werden.
Das mache ich normalerweise, wenn ich unter den gleichen Bedingungen arbeite wie Sie.
Ich checke das Projekt von SVN mit Eclipse auf meinem Computer aus. Dann synchronisiere ich mein lokales Projekt mit dem entfernten dev | test-Server, ohne Dateien wie .project und so weiter. Ich empfehle, dass Sie auch Ihren SSH-Schlüssel auf den Remote-Server legen, um die Verbindung zu beschleunigen.
Und voilà! Jetzt können Sie lokal arbeiten und Eclipse synchronisiert automatisch alle Änderungen, die Sie auf dem Remote-Server vornehmen. Wenn alles gut getestet und zur Auslieferung bereit ist, können Sie auch Eclipse verwenden! Kein Kitt nötig!
Ich hoffe es hilft!
quelle
Ich habe es geschafft, C # / Mono-Code in Visual Studio zu schreiben und mit einem GDB-Remote-Debugger-Plugin auf einer Linux-Box von VS aus zu debuggen. Hat erstaunlich gut funktioniert. Ich stelle mir vor, es wäre schneller, wenn Sie Linux auf einer lokalen VM installieren würden (es gibt eine nette VMWare Ubuntu-Appliance im Internet), aber ich benötigte einen Satz Tesla-GPU-Karten, die nicht in meinem Laptop installiert waren.
Suchen Sie nach WinGDB. Es ist nicht kostenlos, funktioniert aber unglaublich gut.
quelle