TAG | Subversion
Last week I was invited into a discussion by our development team. Having been a developer as well as a system architect they wanted me to share an opinion about the perfect fit branching model. Judging by the number of diagrams drawn my colleagues had been at it for quite some time.
I’m not sure if the opinion I shared was what they expected though.
To be honest I had little idea of what to write today. Fortunately I received an email from Benjamin (a.k.a. robo47) about my sfImageTransformExtraPlugin. He asked if there is any chance to retrieve the stable releases from GitHub as well as from the symfony website.
And he’s got a point. Many developers have switched to git by now while symfony (1.x) only provides subversion. So here are a few best practices for those symfony plugin developers who have switched their development to GitHub (like me). (more…)
But if this external library includes some unit test classes as well an autoloader might get confused. This happened to me at least and so far I don’t know a good answer to it. Do you?
I must admit that I have been lazy with my efforts on continuous integration lately. Eventually my server crashed unnoticed and I didn’t get any emails about broken builds anymore and by now I think I’ve stacked up some work to do.
First of course I’ve got to get my CI server up and running again, that’s why I installed Hudson again.
But there is room for improvement too. Sebastian Bergmann of PHPUnit fame spent some time on a template Hudson job for PHP projects that includes much more than PHPUnit. So I decided to use that!
Last week I wrote a small post about me sneakily switching to Git for my own workflows.
However at my working place I still have to work with Subversion or at least interact with it.
Normally I do this with Git-SVN but that is not available on all servers I have to work on.
Here is my current configuration to ease this.
Some years ago I worked with CVS in the company I worked for at the time. The I took on another job and there switched to Subversion. It solved a lot of problems that CVS had but also introduced some new ones.
I changed jobs once more and am still working with Subversion. It works, it’s well known by the people I work with and I can live with it.
Or can I?
Wie auch CruiseControl ist Hudson in Java implementiert und um so ein Java Webtool zu installieren gibt es vier mit bekannte Wege:
- Installation eines Java Servers wie Tomcat or JBoss und deployen der Hudson .war Datei
- Statt eines solchen “grossen Servers” started man einen Servlet Container wie Jetty
- Man startet die .war Datei als einfachen Java Prozess
Die letzten beiden Wege werden meist nicht für den Produktiv Einsatz empfohlen, da ihnen viele Features eines “richtigen” Webservers fehlen. Für meine Testzwecke sind sie aber vollkommen ausreichend. Sollte ich mich final für Hudson entscheiden, kann ich mich immer noch mit Tomcat oder JBoss beschäftigen.
Ich gehe also den dritten Weg und starte einen einfachen Prozess. Zuvor starte ich jedoch eine screen Session, damit ich meine SSH Verbindung verlassen kann, ohne das Tool zu beenden.
$ screen -S hudson
$ java -jar hudson.war --httpPort=8081
// <ctrl>+<a> <d> zum Verlassen der screen Session
// $ screen -r hudson zum Betreten der screen Session
Nun sollte Hudson bereits unter Port 8081 laufen.
Hudson läuft brav und artig. Cool! Bis hierhin war es einfach.