Job cascading or Inheritance

compared with
Current by Winston Prakash
on Nov 11, 2013 19:24.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (37)

View page history
h1. [Project cascading]
h1. [Job cascading or Inheritance|Job cascading or Inheritance]
 
Page was created to summarize all data, discussion about *[HUDSON-3157|http://issues.hudson-ci.org/browse/HUDSON-3157]* *Feature request: cascading project settings*. We are going to use dedicated "*template_project*" git branch for the development.
The concept of cascading Job is the ability to inherit job properties from parent in a cascading fashion down the inheritance tree as  discussed in *[HUDSON-3157|http://issues.hudson-ci.org/browse/HUDSON-3157]* *Feature request: cascading job settings*.  

Initially we keep the implementation very simple, with only few UI changes
Initially  the implementation will be kept simple, with only few UI changes

* Drop down Box at the top of the project config page to select one the saved project to inherit from (filtered by the same type)

*Project properties which* *support cascading in 2.2.0-BETA2* (Released on Nov 15, 2011)
 




*Job properties which* *support cascading in 2.2.x * (Released on Nov 15, 2011) *and later*
|| Project type \\ || Property name \\ || UI changes \\ || Status \\ || Comment \\ ||
| *Freestyle Project* \\ | Discard Old Builds(Days to keep builds, Max # of builds to keep, \\




*Project properties which* *support cascading in 2.2.0-BETA* (Released Oct 26, 2011)


|| Project type \\ || Property name \\ || UI changes \\ || Status \\ || Comment \\ ||
| *Freestyle Project* \\ | Discard Old Builds(Days to keep builds, Max # of builds to keep, \\
Days to keep artifacts,Max # of builds to keep with artifacts) | | Complete | |
| | Quiet period | | Complete | |
| | Retry Count | | Complete | |
| | Block build when upstream project is building | | Complete | |
| | Block build when downstream project is building | | Complete | |
| | Use custom workspace | | Complete | |
| | Clean workspace before build | | Complete | |
| | Builders (ant, maven 2 (legacy), maven 3, shell, batch) | | Complete | supported overriding of all section |
| | Publishers (default) \\ | | Complete | |
| | SCM (None, CVS, Subversion, Git) | | Complete | |
| | Execute concurrent builds | | Complete | |
| {color:#008000} {color} | {color:#993366}Build Triggers{color} | {color:#008000} {color} | {color:#993366}Not Implemented{color} | |
| {color:#008000} {color} | {color:#993366}Parameters{color} \\ | {color:#008000} {color} | {color:#993366}Not Implemented{color} | |
| {color:#008000} {color} | {color:#993366}Restrict where this project can be run{color} | {color:#008000} {color} | {color:#993366}Not Implemented{color} | \\ |
| *Multi-configuration* *Project* \\ | Discard Old Builds(Days to keep builds, Max # of builds to keep, \\
Days to keep artifacts,Max # of builds to keep with artifacts) | | Complete | |
| | Quiet period | | Complete | |
| | Retry Count | | Complete | |
| | Block build when upstream project is building | | Complete | |
| | Block build when downstream project is building | | Complete | |
| | Use custom workspace | | Complete | |
| | Configuration Matrix | | Complete | |
| | Run each configuration sequentially \\ | | Complete | |
| | Combination Filter \\ | | Complete | |
| | Execute touchstone builds first | | Complete | |
| | Builders | | Complete | |
| | Publishers | | Complete | |
| | SCM (None, CVS, Subversion, Git) | | Complete | |
| | {color:#993366}Build Triggers{color} | {color:#008000} {color} | {color:#993366}Not Implemented{color} | |
| | {color:#993366}Parameters{color} | {color:#008000} {color} | {color:#993366}Not Implemented{color} | |
| | {color:#993366}Restrict where this project can be run{color} | {color:#008000} {color} | {color:#993366}Not Implemented{color} | {color:#008000} {color} |
| | Build Triggers | | Pending | |
| *Maven 2/3 project (legacy)* \\ | | | | \\ |
| *Monitor an external job* \\ | Discard Old Builds(Days to keep builds, Max # of builds to keep, \\
Days to keep artifacts,Max # of builds to keep with artifacts) | | Complete | |
| | | | | |
*Hudson plugins* *which* *support cascading*
|| Plugin || Version \\ || Comments \\ ||
| Copy Artifact Plugin | 1.12 \\ | |
| Promoted Builds Plugin | 2.4 \\ | |
| Parameterized Trigger Plugin | 2.4 \\ | |
| Deploy Plugin | 1.7 \\ | |
| Build Timeout Plugin \\ | 1.6 \\ | |
| Join Plugin | 1.9 \\ | |
| Static Analysis Utilities | 1.34 \\ | |
| Findbugs Plugin | 4.3 \\ | |
| Warnings Plugin | 3.22 \\ | |
| Task Scanner Plugin | 4.23 \\ | |
| Checkstyle Plugin | 3.21 \\ | |
| PMD Plugin | 3.22 \\ | |
| Mercurial Plugin | 1.35 \\ | |
| Sonar plugin | 1.7.1 \\ | |
| M2release plugin | 0.8.1 \\ | |
| Maven-info | 0.0.3 \\ | |
| M2-extra-steps | 1.1.3 \\ | |
| Svn-tagging | 1.14 \\ | |
| Violations | 0.7.7 \\ | |
| Email-ext plugin | 2.10 \\ | |
| Github plugin | 0.4 \\ | |
| Emma plugin | 1.26 \\ | |
| Cobertura plugin | 1.1 \\ | |
| Locks and Latches plugin | 0.6 \\ | |
| Batch task plugin | 1.14 \\ | |
| {color:#ff0000}Ivy plugin{color} | {color:#ff0000}1.17{color}\\ | {color:#ff0000}NPE on the Ivy project loading:{color} \\ {color:#ff0000}updateTransientActions(AbstractIvyProject.java:63){color} |
{color:#ff0000}updateTransientActions(AbstractIvyProject.java:63){color} |

h6. Implementation Point of View