-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
Jenkins v1.432, AccuRev Plugin v0.6.18
This feature should be usable per job setting so that each job/project can either use the old style or this style because not every project likes to have the extra required stream.
– -- – -- –
Here is a suggestion for a more effective AccuRev polling to decide whether a CI build should be started.
1) One time only: Create a sub-stream of Project named Project_Last_CI and set time-basis to "now"
accurev mkstream -s Project_Last_CI -b Project -t now
2) On each polling cycle, check to see if there are any changes in Project (promotes into Project, its parent, its grandparent, any xlinks, etc.)
accurev diff -a -i -v Project -V Project_Last_CI
3) If the accurev diff command produces any output, it is time to kick off a CI build
a) Update Last_CI stream time-basis
accurev chstream -s Project_Last_CI -t now
b) Perform regular hist information being done today to capture transactions
c) workspace update
d) build
Because the diff command normally takes just 4-5 seconds, even for a large stream, this will create a significant load reduction. It should actually enable the project to run the polling more frequently while simultaneously creating less load on the AccuRev server.