Two things I have on pal for development are a maven repository, and hudson continuous integration. They have actually been broke for a while, as installing ox6 stepped on the tomcat configuration that was running these services. I just noticed it today, as I was installing eclipse on pal to try it out, and once I downloaded the eclipse maven plugin, it tried to index my mirror repository, and told me it wasn't working.
After figuring out what had happened to tomcat on pal, I figured it was time just to move the maven repository and CI server to cloudy, rather than try to fix it on pal. I also realized I'd have the same conflict on cloudy with ox6's use of tomcat, so I decided to run them as stand-alone on separate ports. And one more change, my maven repository on pal was via archiva, but I wanted to try out nexus from the good folks at sonatype that created maven in the first place.
The nexus install was pretty much a snap. Just untar the installation file in-place. I changed the default install from /usr/local to /usr/share to match all the other installs. I started it up, and I could browse to it. The only configuration was to change the admin password, index the proxied repositories, and change the deployment password. The default configuration had the standard repository setup for third-party, release, snapshots and the standard set of external repositories. Editing my settings.xml to point to nexus, and now eclipse can index my repositories. The only thing left was to move my released code to the new release repository on nexus. The directory structure is identical, so a quick scp moved the whole thing. Actually it wasn't that quick, so while that was transferring, I went out to get my flu shot. I still need to setup my settings.xml to allow deployment from my ci, but I will do that later when I actually need to do a release. One step that I'll put off until I need to restart is to actually create an /etc/init.d script so that it starts automatically.
For hudson I followed some instructions to allow me to install it as a normal ubuntu package. After the install, it said that port 8080 was in use, find another port. I figured out that the configuration is in /etc/default/hudson, changed the port to 8082 (8081 is used by nexus) and restarted it with the /etc/init.d/hudson script.
The last step is to expose it via my reverse proxy on servy. Nexus was easy enough, but hudson proved a little more difficult. It turns out (and I may have known this before, but forget) that reverse proxy must have the same path in the url both inside and outside the firewall. Since the default for stand-alone hudson is to have no path, I had to add a parameter --prefix=/hudson Then it worked from outside the firewall (I use my corporate vpn to check connections from outside the firewall).
One more step will be to recreate the jobs on cloudy's hudson. For now I'll leave it alone, I just got a new geforce 9500 GT for my birthday from Tracy :) which I want to try out on WoW.
No comments:
Post a Comment