Difference between revisions of "ETICS"

From Gcube Wiki
Jump to: navigation, search
(How to submit remote builds of gcube subsystems/components)
Line 14: Line 14:
  
  
In ETICS Portal, to access the Remote Build submitting form (see picture below) just '''right-click''' on the configuration you wish to build and then select '''"Remote Build..."''' from the contextual menu that will appear.
+
In ETICS Portal, to access the Remote Build submitting form (see picture below) just '''right-click''' on the configuration you wish to build and then select '''"Remote Build..."''' from the contextual menu that will appear. The submission form is shown below:
  
 
[[File:Etic-build-submission.png|center|frame]]
 
[[File:Etic-build-submission.png|center|frame]]
  
In the following, a description of most usual options to set in the form is provided:
+
 
 +
 
 +
The most common options to set for gCube builds are listed in the table below.
 
{| border="1" cellpadding="4" cellspacing="0"
 
{| border="1" cellpadding="4" cellspacing="0"
 
|- style="background-color:#F2F2F2"
 
|- style="background-color:#F2F2F2"
Line 37: Line 39:
 
| mandatory
 
| mandatory
 
|-
 
|-
| '''--shallowbindeps'''
+
| '''Checkout from Volatile area'''
| click on "more options" (<font color=green>the green circle in the figure above</font>) and the "--shallowbindeps" option will appear. The "--shallowbindeps" option prevents ETICS to download dependencies of a component if that component is downloaded as binary. In gCube the usage of that option is necessary to cope with the org.glite.voms-admin-server dependency.
+
| every ETICS build stores the binary artifacts in a remote area. By setting this option the build can use, if they exist, binary artifacts from past builds instead of re-compiling it from source (it only applies to dependencies, not on the build target component).  
| mandatory (only for components that depends on voms-admin-server)
+
| recommended
 
|-
 
|-
 
| '''Do not stop on errors'''  
 
| '''Do not stop on errors'''  
Line 46: Line 48:
 
|-
 
|-
 
| '''Host selection'''
 
| '''Host selection'''
| The platform against which the build will be performed. gCube is completely in java and, thus, it is completely cross-platform and, theoretically, any of available platforms can be chosen. The suggested platform (because more worker nodes are available for it) is '''Scientific Linux 5 (x86_64) with gcc 4.1.2''' or '''Scientific Linux 5 (ia32) with gcc 4.1.2'''. The '''CERN Scientific Linux 4 (x86_64) with gcc 3.4.6''' is not recommended anymore since it is going to be dismissed.
+
| The platform against which the build will be performed. gCube is completely in java and, thus, it is completely cross-platform and, theoretically, any of available platforms can be chosen. However, the current ETICS worker nodes all runs on CentOS 7 and, therefore, that is the only possible platform.
 
| mandatory
 
| mandatory
 
|}
 
|}
  
  
Once options have been set, just click on the ''submit'' icon (<font color=red>the red circle in the figure above</font>) and the build will start. You can keep trace of your builds in the '''Submissions'' tab of ETICS Portal.
+
Once options have been set, just click on the ''submit'' icon (top-left of the submission form) and the build will start. You can keep trace of your builds in the '''Submissions'' tab of ETICS Portal.
  
 
= External Links =
 
= External Links =

Revision as of 12:18, 12 October 2015

Overview

ETICS stands for e-Infrastructure for Testing, Integration and Configuration of Software. ETICS is an on-line collaborative service for managing software projects by managing their configuration, enforcing quality standards, building packages and testing them in environments as close as possible to real-world infrastructures. The ETICS tools can be used to run remote builds and tests on multiple platforms at the same time.

Etics-overview.png

The main architectural components of ETICS (depicted in the figure above) are:

  • ETICS Web Portal is the main access point to ETICS. It allows to access (view and edit) the configuration of gCube components, submit builds and tests and check the reports;
  • ETICS Worker Nodes are the nodes were builds and tests take place. Users do not need to access to these nodes;
  • ETICS Command-Line Client is a set of command-line tools to access ETICS services. The Command-Line Client provides similar functionalities as the web application. In addition, it allows to run local builds on the developer's machine and is expecially suitable for scripting and batch executions;

How to submit remote builds of gcube subsystems/components

A pre-requisite to submit a build is to have right to do that. Developers have rights to build their components, Subsystem Managers have rights to build their subsystem and the Release Manager have the rights to build the entire project.


In ETICS Portal, to access the Remote Build submitting form (see picture below) just right-click on the configuration you wish to build and then select "Remote Build..." from the contextual menu that will appear. The submission form is shown below:

Etic-build-submission.png


The most common options to set for gCube builds are listed in the table below.

option description usage
verbose useful to debug the build process recommended
Ignore Locking A locked configuration in ETICS has a "snapshot" of the gCube configuration in which it has been locked. When a locked configuration is built in a different version of gCube of the one in which has been locked, it will try to bring in the build all the configurations belonging to the "snapshot"; most likely this will result in multiple configurations for the same component that will break the build. The usage of "Ignore Locking" option will prevent configurations from the snapshots of locked configuration to be brought in the build. mandatory
Propagate environment and ... essential. It will instruct ETICS about the gCube version in which context (gCube's version) build the configuration. mandatory
Checkout from Volatile area every ETICS build stores the binary artifacts in a remote area. By setting this option the build can use, if they exist, binary artifacts from past builds instead of re-compiling it from source (it only applies to dependencies, not on the build target component). recommended
Do not stop on errors ETICS will try to complete the build also in case the build of one or more components fails. recommended
Host selection The platform against which the build will be performed. gCube is completely in java and, thus, it is completely cross-platform and, theoretically, any of available platforms can be chosen. However, the current ETICS worker nodes all runs on CentOS 7 and, therefore, that is the only possible platform. mandatory


Once options have been set, just click on the submit icon (top-left of the submission form) and the build will start. You can keep trace of your builds in the 'Submissions tab of ETICS Portal.

External Links

Etics Web Portal

Etics Build Report

Etics Client Installation HowTo