I have a graph like this on my dashboard:

Is is based on each job having three types of dependency:

  • Zero or more Mercurial repositories from Bitbucket. It uses the Bitbucket REST API to determine the changeset of the head of the branch that the job is configured to use.
  • Zero or more artifacts from other jobs. It uses the fingerprints from the build.xml for the last successful build of the upstream job and compares that to the fingerprints from the build.xml of the last completed build of the downstream job.
  • The Jenkins config.xml for the job itself. Periodically I store the sha1sum of this XML file so that changes can be detected.

If any of these change then the job is considered to be pending and scheduled (in dependency order) to run. I also re-run any job that is:

  • Failing and hasn't run for 24 hours. This means I retry failed jobs frequently.
  • Passing and hasn't run for 1 month. This means that I can be fairly confident that I detect jobs that break due to external influences.

The only time I configure Jenkins to trigger a job is if I want it to run on a timer such as hourly or daily.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to