We recently moved from using Hudson to Jenkins (not by choice, our sysadmin just decided to do it one day). I know there's a big nerd-rage about Hudson vs. Jenkins but I honestly couldn't care less. I just want something that works. Well, from what we've seen, Hudson is more stable than Jenkins.Here are some of the problems we are getting (and fixes):
| Error | Fix |
|---|---|
| FATAL: Could not checkout null with start point 1234... Caused by: hudson.plugins.git.GitException: Error performing command: git checkout -f 1234... Command "git checkout -f 1234..." returned status code 1: error: unable to unlink old ' |
Jenkins keeps thinking one file has been modified locally, so (from the jenkins machine) git checkout that file and the tests will run fine. |
| Sometimes the Xvfb process crashes. You will only know because the tests will not stop trying to run, so any running time above 15 minutes means this has probably happened. | Restart Xvfb (which is supposed to be always running in the background): Xvfb -ac :99 & |
| Sometimes Jenkins doesn't want to checkout from git (sometimes for the same reason above, a file that has been "modified" locally, but sometimes for no apparent reason): ERROR: Problem fetching from origin / origin - could be unavailable. Continuing anyway ERROR: Could not fetch from any repository FATAL: Could not fetch from any repository |
You have to login to the jenkins machine and manually git pull origin dev from the repo, and then run the tests again (via jenkins interface). |
| Caused by: hudson.plugins.git.GitException: Error performing command: git tag -a -f -m Jenkins Build #309 jenkins-oars-dev-309 Command "git tag -a -f -m Jenkins Build #309 jenkins-oars-dev-309" returned status code 128: error: insufficient permission for adding an object to repository database .git/objects error: unable to write tag file |
Not sure about this one. The selenium log was very big so I deleted it and the tests ran. The log is supposed to get rotated but maybe this didn't occur. |
| error: Your local changes to the following files would be overwritten by merge: Please, commit your changes or stash them before you can merge. |
These are local changes to the files on the test machine (not the jenkins machine). So from jenkins, there's a script to remotely update the files on the test machine, but in this case there were local modifications (not sure how that happened either). There's a plan to move the .test repos/installs to the jenkins machine so we won't need to do the remote update. However this plan has been devised by our "sysadmin", so might take a while to eventuate. Solution is to checkout the locally modified files on the test machine then do a git pull. |