Integration Infrastructure

From Gcube Wiki
Revision as of 15:09, 12 October 2015 by Gabriele.giammatteo (Talk | contribs)

Jump to: navigation, search

The tools that take part to the integration of software during a release process are very well integrated each other in order to guarantee an high level of automatism. The set of tools and their interconnections are called Integration Infrastructure and its layout is depicted in the figure below.

Integration infrastructure.png


Information is stored in three main repositories withing the integration infrastructure:

  • the gCube Source Code repository that contains the source code of all gCube components;
  • the gCube Data Model repository that contains metadata associated to each gCube component related to building and packaging commands, dependencies, project structure (this repository corresponds to the ETICS database);
  • the gCube Maven repositories a set of Maven repositories that hosts all the artifacts produced for each component during the project builds;

A fourth repository, the Software Gateway repository is considered of interest for the release process. In fact, this repository keeps the list of profiles of all gCube software deployable in a given gCube instance. At the end of the release process, the profile of all components released are pushed in the D4Science Infrastructure Software Gateway in order to make them available for deployment into the production infrastructure.


There four main services used by developers, project managers and community users to perform different tasks:

  • the ETICS Web Portal: to model a component in gCube (source code location, build commands, dependencies);
  • the ETICS build nodes: to perform builds and tests of gCube components;
  • BTRT: to perform continuous integration of all gCube components both for HEAD and for candidate releases;
  • the gCube Distribution Site: to download binary artifacts of gCube components;

The repositories and services in the infrastructure will be described in detail in the next sections.