Difference between revisions of "Continuous Integration: Dependency Walker Jenkins Pipeline"
From Gcube Wiki
Manuele.simi (Talk | contribs) (→Sample Report) |
Manuele.simi (Talk | contribs) |
||
Line 6: | Line 6: | ||
* generate the list of projects that have modules depending on each maven module in P | * generate the list of projects that have modules depending on each maven module in P | ||
* print a formatted report of the information extracted from the analysis. | * print a formatted report of the information extracted from the analysis. | ||
+ | |||
+ | = Pipeline Definition = | ||
+ | The definition of the gCube Dependency Walker pipeline is maintained in this Git Repository: https://code-repo.d4science.org/gCubeCI/gCubeDepsWalker | ||
= Interface = | = Interface = |
Revision as of 02:41, 13 March 2020
The Dependency Walker pipeline allows to navigate the dependencies among projects in Jenkins.
Given the name of a Jenkins project (P):
- navigate the maven modules built by P
- recursively analyze the module's dependencies and their Jenkins projects
- generate the list of projects that have modules depending on each maven module in P
- print a formatted report of the information extracted from the analysis.
Pipeline Definition
The definition of the gCube Dependency Walker pipeline is maintained in this Git Repository: https://code-repo.d4science.org/gCubeCI/gCubeDepsWalker
Interface
Report
Sample Report
Dependency Report for workspace-sharing-widget |--Project Maven Modules |--Module: org.gcube.portlets.widgets:workspace-sharing-widget |--Deepest Dependency Level: L1 |--Used by (Maven Modules) |--org.gcube.portlets.user:tabular-data-share-widget |--org.gcube.portlets.user:workspace-tree-widget |--Referred by (Jenkins Projects) |--workspace-sharing-widget |--tabular-data-share-widget |--workspace-tree-widget |--Module: org.gcube.portlets.user:tabular-data-share-widget |--Deepest Dependency Level: L2 |--Used by (Maven Modules) |--org.gcube.portlets.user:tabular-data-manager |--org.gcube.portlets.user:tabular-data-rule-widget |--Referred by (Jenkins Projects) |--tabular-data-share-widget |--tabular-data-manager |--tabular-data-rule-widget |--Module: org.gcube.portlets.user:workspace-tree-widget |--Deepest Dependency Level: L2 |--Used by (Maven Modules) |--org.gcube.portlets.user:workspace |--Referred by (Jenkins Projects) |--workspace-tree-widget |--workspace |--Module: org.gcube.portlets.user:tabular-data-manager |--Deepest Dependency Level: L3 |--Used by (Maven Modules) |--Referred by (Jenkins Projects) |--tabular-data-manager |--Module: org.gcube.portlets.user:tabular-data-rule-widget |--Deepest Dependency Level: L3 |--Used by (Maven Modules) |--org.gcube.portlets.user:tabular-data-manager |--Referred by (Jenkins Projects) |--tabular-data-rule-widget |--tabular-data-manager |--Module: org.gcube.portlets.user:workspace |--Deepest Dependency Level: L3 |--Used by (Maven Modules) |--Referred by (Jenkins Projects) |--workspace |--All Downstream Projects |--tabular-data-manager |--tabular-data-rule-widget |--tabular-data-share-widget |--workspace |--workspace-sharing-widget |--workspace-tree-widget