Continuous Integration: Dependency Walker Jenkins Pipeline
From Gcube Wiki
Revision as of 02:42, 13 March 2020 by Manuele.simi (Talk | contribs)
Description
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