Difference between revisions of "Software Integration and Distribution: Overview"

From Gcube Wiki
Jump to: navigation, search
 
(43 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
  
This section documents all the procedures and tools used for releasing the gCube system. It is intended as the central access point to information about the integration, validation, and distribution of the system for developers, software testers, release managers, and for any other actor involved in the development of the system.
+
This section documents all the procedures and tools used for releasing the gCube system. It is intended as the central access point to information about the integration, validation, and distribution of the system for developers, software testers, release managers, and for any other actor involved in the development of the system (see [[Software_Integration_and_Distribution:_Roles|Roles]]).
  
 +
Given the large size of the gCube system, its high degree of modularity and the number of developers involved in the implementation, a set of procedures that formalize and simplify the integration, test, documentation and distribution of the software have been defined. These procedures coordinate the actions and the timing of the different actors to achieve the desired result. Section [[Release Procedures]] provides a detailed description of each procedure by listing actors and their responsibilities for each step of each procedure.
  
Given the large size of the system, its high degree of modularity and the number of developers involved in the implementation, the Work Package 7 which is responsible for the distribution of gCube has defined a set of procedures that formalize and simplify the integration, test, documentation and distribution of the software by coordinating the different actors involved in the release process. Section [[Release Procedures]] provides a detailed description of each procedure by listing actors and their responsibilities for each step of each procedure.
+
Activities in release procedures are highly automated and supported by several tools described in section [[Release Tools|Release Tools]].
  
 +
==== [[Software Integration and Distribution: Roles|Release Roles]] ====
 +
* [[Role Release Manager|Release Manager]]
 +
* [[Role Subsystem Manager|Subsystem Manager]]
 +
* [[Role Developer|Developer]]
 +
* [[Role Tester|Tester]]
 +
* [[Role Documentation Editor|Documentation Editor]]
 +
* [[Role Documentation Author|Documentation Author]]
  
Activities in release procedures are highly automated and supported by several tools. The tools offer support in the:
+
==== [[Release Tools|Release Tools]] ====
 
+
* [[Redmine|Tracking System]]
* configuration of source code ([[SCM tools]]);
+
* [[Integration of Maven Components|Maven]]
* release preparation phase ([[Redmine]]);
+
** [[Developing gCube Maven Components|gCube Maven Components]]
* software integration phase ([[ETICS]], [[BTRT]], the [[Building Infrastructure]])
+
** [[GCube_Maven_BOMs|gCube Maven BOMs]]
* the testing phase ([[Static Code Analysis|Checkstyle]], [[Static Code Analysis|Findbugs]], [[ETICS]], the [[Testing Infrastructure]])
+
* [[Java Platform: OpenJDK|OpenJDK_as_Java_Platform]]
* the documentation of the system ([[gCube System documentation wiki|Wikimedia]]);
+
* [[Integration Infrastructure]]
* the distribution of the system ([[gCube Web Site and Distribution Site|gCube Distribution Site]]).
+
** <span style="color:DarkGreen">'''''NEW'''''</span> [[GCube_Git_Migration|gCube Git Migration State Of the Art]]
 
+
** [[gcube subversion repository|SVN Repository]]
 
+
Section [[Testing Plan]] provides documentation for the support to gCube software testing carried out during integration of system's releases and in continuous integration builds.
+
 
+
 
+
==== <span style="background-color:yellow">[[Software Integration and Distribution: Roles|Release Roles]]</span> ====
+
* <span style="background-color:yellow">[[Role Developer|Developer]]</span>
+
 
+
* <span style="background-color:yellow">[[Role Subsystem Manager|Subsystem Manager]]</span>
+
* <span style="background-color:yellow">[[Role Release Manager|Release Manager]]</span>
+
* <span style="background-color:yellow">[[Role Tester|Tester]]</span>
+
 
+
* <span style="background-color:yellow">[[Role Documentation Editor|Documentation Editor]]</span>
+
* <span style="background-color:yellow">[[Role Documentation Author|Documentation Author]]</span>
+
 
+
 
+
 
+
==== <span style="background-color:yellow">[[Release Tools|Release Tools]]</span> ====
+
* <span style="background-color:yellow">[[SCM tools|SCM Tools]]</span>
+
** <span style="background-color:yellow">[[gcube subversion repository|Subversion Repository]]</span>
+
* [[Building tools|Building tools]]
+
** [[Integration of Maven Components|Integration of Maven Components]]
+
*** [[Developing gCube Maven Components|Developing gCube Maven Components]]
+
*** [[GCube_Maven_BOMs| Using the gCube Maven  BOMs ]]
+
*** [[ETICS configurations for gCube Maven Components|ETICS configurations for gCube Maven Components]]
+
*** ''obsolete'' -- [[Creating gCube Maven components: How-To|Creating gCube Maven components: How-To]]
+
 
** [[ETICS|ETICS]]
 
** [[ETICS|ETICS]]
 +
*** [[MavenBuilder|MavenBuilder]]
 
** [[BTRT|BTRT]]
 
** [[BTRT|BTRT]]
** [[Building Infrastructure|Building Infrastructure]]
+
** [[gCube Web Site and Distribution Site|Distribution Sites]]
* [[Redmine|Tracking System - Redmine]]
+
*** [[GitHub|GitHub]]
 
* [[Testing Infrastructure|Testing Infrastructure]]
 
* [[Testing Infrastructure|Testing Infrastructure]]
 
* [[gCube System documentation wiki|Documentation]]
 
* [[gCube System documentation wiki|Documentation]]
* [[gCube Web Site and Distribution Site|Distribution Site]]
 
  
 
==== [[Release Procedures|Release Procedures]] ====
 
==== [[Release Procedures|Release Procedures]] ====
 
* [[Continuous Integration procedure|Continuous Integration]]
 
* [[Continuous Integration procedure|Continuous Integration]]
* [[Major/Minor Release Cycle procedure|Major/Minor Release Cycle]]
+
* [[Major/Minor Release Cycle procedure|Release Cycle]]
 
* [[Maintenance Release Cycle procedure|Maintenance Release Cycle]]
 
* [[Maintenance Release Cycle procedure|Maintenance Release Cycle]]
* [[Documentation Writing guidelines|Documentation Writing guidelines]]
+
* [[Documentation Writing guidelines|Documentation Writing Guidelines]]
** [[Changelog Generation procedure|Changelog Generation procedure]]
+
** [[Changelog Generation procedure|Changelog Generation Procedure]]
* [[Distribution procedure|Distribution procedure]]
+
* [[Distribution procedure|Distribution Procedure]]
 
+
** [[Zenodo Publication|Zenodo Publication]]
 
+
  
 
==== [[Test Plan|Test Plan]] ====
 
==== [[Test Plan|Test Plan]] ====
Line 64: Line 46:
 
* [[Functional Testing|Functional Testing]]
 
* [[Functional Testing|Functional Testing]]
 
* [[Deployment Testing|Deployment Testing]]
 
* [[Deployment Testing|Deployment Testing]]
* [[Performance Testing|Performance Testing]]
 
 
 
  
 
==== [[Naming Conventions|Naming Conventions]] ====
 
==== [[Naming Conventions|Naming Conventions]] ====
  
 
==== [[Software Integration and Distribution: Release Log|Release Log]] ====
 
==== [[Software Integration and Distribution: Release Log|Release Log]] ====

Latest revision as of 05:00, 3 May 2019


This section documents all the procedures and tools used for releasing the gCube system. It is intended as the central access point to information about the integration, validation, and distribution of the system for developers, software testers, release managers, and for any other actor involved in the development of the system (see Roles).

Given the large size of the gCube system, its high degree of modularity and the number of developers involved in the implementation, a set of procedures that formalize and simplify the integration, test, documentation and distribution of the software have been defined. These procedures coordinate the actions and the timing of the different actors to achieve the desired result. Section Release Procedures provides a detailed description of each procedure by listing actors and their responsibilities for each step of each procedure.

Activities in release procedures are highly automated and supported by several tools described in section Release Tools.

Release Roles

Release Tools

Release Procedures

Test Plan

Naming Conventions

Release Log