PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Umsetzungsproblem (oder Denkproblem) mit NetBeans, SVN und Apache



TheDarkRose
07.12.09, 22:31
Also irgendwie hab ich zurzeit ein Umsetzungsproblem bzw. Denkproblem in Zusammenhang mit NetBeans, Subversion und Apache.

Folgendes mal zu meinen Netzwerk:
unter 192.168.1.1 liegt mein HSDPA-Router mit DNS und DHCP
unter 192.168.1.2 liegt mein openSuSE Server mit Apache und Subversion (gleichzeitig auch Samba und WINS-Server
unter 192.168.1.3 liegt meine alte Windows Workstation, in diesem Fall kann man sie getrost ignorieren
über DHCP (bekommt aber eh meißt 192.168.1.100, da zurzeit einzige Maschine die ihre IP über DHCP bezieht) komme ich mit meinen Win7-Laptop ins Netz. Auf diesen befindet sich eben NetBeans.

Jetzt hab ich ein Projekt zum programmieren, welches das Symfony Framework benutzt und nach dem ich Änderungen gemacht habe, muss ich ja zuerst testen ob es funktioniert, bevor ich es ins svn-repo zurückspiele. Nun ist das Poblem lokal auf dem Laptop kann ich es nicht testen, da ich nur aufm Linux Server Apache drauf hab. Und dazu benötigt das Framework auch noch PHP auf der CLI, um die Modelklassen aus der Datenbank abzuleiten.

Zurzeit steh ich echt aufn Schlauch wo ich was und wie speichern soll. habt ihr vielleicht einen umsetzungsvorschlag??

oziris
08.12.09, 02:49
Aus Erfahrung kann ich sagen, dass man das nur kompliziert lösen kann:
SVN und Samba vertragen sich oft nicht gut. Man konnte aber auf NFS ausweichen, was aber nicht mit allen Windosen geht, weil das nur bei den teuren Versionen dabei ist, sonst muss man's für ca. 40 Euronen extra von Dritten kaufen.
Man arbeitet dann über NFS mit der IDE (z.B. Eclipse oder NetBeans) in einem Verzeichnis vom Server, wo dann die Working-Copy für's SVN liegt.
Symfony, Zend oder andere Frameworks und auch UNIT-Tests, Interpreter und Doku-Tools (PHPUnit, PHP, Doxygen, PHPDoc ...) kann man dann über SSH auf dem Server starten. (Also deren CLI-Programme.) Der Webserver (z.B. apache2) zum angucken von Web-Projekten kann ggf. Name-Based-Virtual-Hosting benutzen, um verschiedene Verzeichnisse anzubieten.

Das läuft so ganz gut, ist nur manchmal langsam, da ein Check-Out vom SVN aus dem Netz kommt und übers Netz gleich wieder geht :)

Alternativen wären lokale Entwicklungsumgebungen, die sich am Server orientieren (will man ja oft nicht so gern, shon allein wegen unterschiedlichen Interpreter- oder Framework-Versionen) oder vielleicht auch VMs mit dem Kram drin.

TheDarkRose
08.12.09, 13:24
Also meine Windose ist nur Home Premium.
Wird wohl alles darauf hinauslaufen das ich mir XAMPP (http://www.apachefriends.org/de/xampp.html) aufn Laptop holen muss. Somit kann ich dan auch die CLI lokal nutzen.
Subversion Unterstützung bleibt dann eh mit NetBeans.
Das Problem mit unterschiedlichen Framework-Version hab ich schon dadurch verhindert, das ich das Framework über svn:externals ins entsprechende Unterverzeichnis einbinde.

oziris
08.12.09, 15:06
Symfony brauch ja auch kram in /usr/share/ oder so und die CLI-Programme (z.B. "symfony") sind ja eigentlich auch in irgendeinem bin/ .

TheDarkRose
08.12.09, 15:15
Also es gibt zwei Möglichkeiten symfony zu verwenden. Entweder als PEAR-Erweiterung, oder eigenständig im lib/vendor/symfony/-Verzeichnis des jeweiligen Projekts. Dort sind auch die symfony-CLI-Programme.

Und um keine Versionsprobleme bei mehreren Arbeitskopien auf verschiedenen Rechner zu bekommen, empfehlen die symfony-Entwickler auch ein svn:externals-Property auf lib/vendor zu erstellen. Genauso mach ich das ja auch, wie bei den Plugins, die ich verwende. Die binde ich auch über svn:externals ins Projekt ein.

$ svn pe lib/vendor
symfony http://svn.symfony-project.com/branches/1.4

oziris
08.12.09, 19:48
Externals haben wir auch benutzt, aber irgendwie anders. Da muss ich unbedingt mal mit meinen Kollegen drüber reden, wenn mein Urlaub vorbei ist. Da ist wohl noch Optimierugsbedarf.

TheDarkRose
08.12.09, 19:49
Wie habt ihr sie den benutzt?

oziris
08.12.09, 20:08
Genau weiß ich das nicht, aber bei uns liegt das "symfony"-Programm auf jeden Fall in einem Systemweiten "bin/"-Verzeichnis und es wird auch etwas in /usr/share/ benutzt. Wie gesagt, ich muss mal mit meinen Kollegen drüber schwätzen.

Vielleicht irre ich mich auch, und wir verwenden für Symfony gar keine Externals, obwohl wir das eigentlich immer für alle Frameworks und Bibliotheken machen...

TheDarkRose
08.12.09, 20:15
Ja wie gesagt, symfony lässt sich auch über PEAR verwenden

TheDarkRose
09.12.09, 00:52
So, habe mich dazu entschieden XAMPP auf meinen Laptop zu installieren und immer lokal zu testen. Da ich in NetBeans auch mehrere Debugumgebungen definieren kann, kann ich eh einfach meinen internen server als zweite Umgebung definieren und dann alle Daten bei Bedarf über SFTP rüberspielen (durch NetBeans). Subversion updaten und commiten übernimmt auch NetBeans. Die Symfony-CLI bedien ich lokal ich die normale win-cmd, wobei ich mir noch ne .bat geschrieben, die in das Projektverzeichnis wechselt und den Pfad zur php.exe der PATH Variable hinzufügt. Die ruf ich dann meißt nur einmal auf, wenn ich die cmd öffne.