This is a tail about Jenkins (née Hudson) and Kohsuke’s policy of maintaining backwards compatibility…
Back in 2006 I started working for my previous employer, just a month or two after Peter Reilly started. Initially we were working on the same team. This was a team who’s CI system was a nightly cron job that emailed off a list of failing tests to everyone… obviously Peter and I had many a WTF over that old system… so I convinced our boss that we should put some effort into setting up a proper CI system… Initially this was CruiseControl (as he thought Hudson at version 1.64 was too new and unheard of… go with the old reliable)… but after a couple of pains with the CruiseControl system (monolithic xml config file), we convinced him to switch to Hudson… (I don’t think we ever looked back!)
In my previous post showed how easy it is to run your java application on CloudBees’ RUN@cloud service. Today I’m going to use the CloudBees Deployer plugin for Jenkins that allows you to deploy your app to the cloud from your CI server. I am using the DEV@cloud Jenkins service for my CI infrastructure, but you can use this plugin from your own Jenkins (or Nectar) server.
So first step is to install the CloudBees Deployer plugin…
I work for CloudBees Inc., they are a great company with great products. I have mostly been working on the DEV@ side of the fence which is focused on continuous integration and basically the development side of your application, but we also have the RUN@ side of the fence where we provide a platform as a service (PaaS) for running your java web applications on the cloud. I could give you the sales pitch, but I’ll leave it at: the technologies and people behind RUN@ were one of the key reasons why I decided to join CloudBees.
In relation to http://dhanji.github.com/#unit-tests-false-idol here is the tail of the worst test case I ever came across…
In a former employers, there was an employee who we will call Kevin McCallister in order to protect the guilty. In any case, for various reasons, I ended up having to maintain some of the code that Kevin wrote…
I ran all the test cases and measured the code coverage, it seemed high and there were lots of test cases… but bugs a plenty kept on hitting me… I finally found the answer in one test class… which looked a little something like this:
The following quick and dirty bash script will take a pom and a jar and fake a maven build based on the source files for that that can be found in the current directory.
Really useful when running mvn dependency:analyze on a project you are validating POMs for.
#!/bin/bash
if [ “A$3” == “A” ]
then
echo “Syntax: $0 pomfile jarfile dir”
return
fi
rm -rvf “$3/src”
mkdir -p “$3/src/main/java”
cp -f “$1” “$3/pom.xml”
#!/bin/bash
URL="$(svn info | sed -n -e ‘/^URL:/{s/URL: *//p}’)"
ROOT="$(svn info | sed -n -e “/^Repository Root:/{s/Repository Root: *//p}”)"
NEW_PATH="${URL#$ROOT}"
OLD_URL="$(sed -n ‘/< *scm *>/,/< */scm *>/p’ pom.xml | sed -n ‘/< *connection *>/,/< */ *connection *>/{s/.*connection > scm:svn:([^ <])[ <]./\1/p}’)"
OLD_PATH="${OLD_URL#$ROOT}"
echo “OLD URL: $OLD_URL”
echo “NEW URL: $URL”
echo “ROOT: $ROOT”
echo “OLD PATH: $OLD_PATH”
echo “NEW PATH: $NEW_PATH”
sed -i ‘/< *scm *>/,/< */scm *>/{s/’${OLD_PATH////\/}’/’${NEW_PATH////\/}’/}’ pom.xml
OK, so a while back I posted my bash script for selecting the maven version to use for the current session http://s.apache.org/FQ2
Now that I have a Mac for my full time development machine, I thought I would share my version of these functions for Mac users:
usemvn ()
{
if [ -z “$1” -o ! -x “/usr/share/java/maven-$1/bin/mvn” ]
then
local prefix=“Syntax: usemvn "
for i in /usr/share/java/maven-*
do
if [ -x “$i/bin/mvn” ]; then
Here’s a handy string for i18n testing:
用户汉è¯
It can be handy to have a string in a non-english charater set that can be pushed end-to-end.
This should be a sad sad joke similar to the writing on the bottom of a leprechaun I saw in a gift shop in Ennis:
Déanta i dtÃr eile
I should point out that it was probably
Déanta sa tSÃn
Still
Mura féidir leat tuiscint a fháil ar an ansin is féidir leat léamh na Gaeilge.
An interesting blog on QA and development: The Clean Coder: QA or When do you flip a pancake?
I had my first oportunity to see the new 3D TV’s this weekend. They looked OK to me. There was a 3D effect. All around me were people who were going “wow! this is great! this is absolutely fantastic!”.
But then I tilted my head, and low and behold, because the system uses horizontal separation to deliver 3D, it requires that your eyes be horizontally separated in order to deliver the 3D effect… when your eyes are vertical, however, it looks just as shit as when you have not got the glasses on.