UnderstandingJenkins
We use Jenkins for most of our automated tests.Full documentation is available here; below we will only highlight the basic needed to navigate on our Jenkins.
We have Jenkins installed in two places:
- the real Jenkins inside our Lab (access restricted). This is where the tests are actually executed from.
the public-facing Jenkins, accessible by all. This public-facing Jenkins mirrors the tests and history that we are running (taken from the Lab's Jenkins instance). There is no need to log into this instance, since it is read-only -- and a mirror, to boot!
When you reach this page, you will see something like this:
On the left side you can see:
* who is defined as a Jenkins user -- and we do not need to worry about that, since the public Jenkins does not need us to log in; * a list of the last builds executed * the current build queue -- in other words, what jobs are currently waiting to execute on the internal Jenkins. Clicking on one of the Build Queue links will show you the same page as clicking on the same-named entry on the Tabs area.
On the right side you have a series of tabs (at the top). The first one on the left is always called 'All', and lists all defined Jenkins jobs. We expect this list to get large as we implement more and more tests.
Selecting a tab will show only the jobs that we aggregated for this tab. This is usually where we spend our time... each one of us looking at a specific subset of Jenkins job we are -- at the moment -- interested in.
The column titles in this are are all clickable, and will cycle the sorting into, ah, alphabetic and inverse alphabetic order. The default ordering is ascending on Job name.
They mean:
S -- Job status: can be green, yellow, red, or gray.
- green -- test succeeded.
yellow -- test returned some failures, but overall did not fail.
- red -- test failed. Really.
- gray -- test has never been run (yet...)
W -- another representation for success/failure, drawing from weather icons. These icons are better to represent a trend, going from a sun (all good, and has been that way for a while) to thunderstom (failing, and has been failing for a while).
Job -- the job name for this test
Last Success -- how long ago was this test last successful
Last Failure -- how long ago Jenkins recorded the last failure on this test
Last Duration -- how long did the last test take to run