Difference between revisions of "Documentation/Labs/CI-and-NightlyPackagesGeneration"

From Slicer Wiki
Jump to: navigation, search
(Created page with "As of April 26th 2016, the build machines known as the Slicer factories plays two roles: * Continuous integration for Slicer * Nightly packages generation and testing for Slic...")
 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
As of April 26th 2016, the build machines known as the Slicer factories plays two roles:
+
== Overview ==
 +
 
 +
As of April 26th 2016, the build machines known as the Slicer factories have two roles:
 
* Continuous integration for Slicer
 
* Continuous integration for Slicer
 
* Nightly packages generation and testing for Slicer application and associated extensions
 
* Nightly packages generation and testing for Slicer application and associated extensions
  
There are currently two factories (factory.kitware and factory-south.kitware) in charge of both Nightly testing and Nightly generation of packages.
+
There are currently [[Documentation/Nightly/Developers/Factory|two factories]] (factory.kitware and factory-south.kitware) in charge of both Nightly testing and Nightly generation of packages.
 +
 
 +
== ==
 +
 
 +
Current scripts to build extensions:
 +
 
 +
* template: https://github.com/Slicer/Slicer/blob/master/Extensions/CMake/SlicerExtensionsDashboardScript.TEMPLATE.cmake
 +
 
 +
* windows: https://github.com/Slicer/DashboardScripts/blob/master/factory-south-win7-vs2013-64bits_slicerextensions_release_continuous.cmake
 +
 
 +
 
 +
== Limitations of the current infrastructure ==
 +
 
 +
* Some extensions are consistently not built
 +
* No access to the factory internals
 +
* No well described procedure on how factory machine with packaging can be set up
 +
* Andriy: Not possible to choose the factory in the extension manager.
 +
** Jc: It is already possible to set the extension server in the settings
 +
* Jorge: Community want to help, but nobody know how to
 +
** Jc: Having more build bots doing Nightly test would be great. See [[Documentation/Nightly/Developers/Tutorials/DashboardSetup]] for more details.
 +
 
 +
== Possible improvements ==
 +
 
 +
* Temporary: Is there a way to run a manual build process ?
 +
 
 +
* Sharing the workload for maintaining and troubleshooting the factory process
 +
 
 +
* Cloud based solutions (e.g. AWS)
 +
** Costs ?
 +
** Preliminary tests ?
 +
 
 +
 
 +
=== AWS cost ===
 +
 
 +
Instance types: https://aws.amazon.com/ec2/instance-types/
 +
Instances prices: https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/
 +
 
 +
G2.2xlarge (linux): $3825 / yr
 +
G2.2xlarge (windows): $4934 / yr
 +
 
 +
Data Transfer
 +
* Internet -> EC2: $0
 +
* EC2 -> Internet: $55 / yr / instance
 +
 
 +
Details: https://docs.google.com/spreadsheets/d/1tTndErxk_71ZjbT85Kwo5hkd9Yf10qm7ToaM087vKg4/edit?usp=sharing

Latest revision as of 15:40, 26 April 2016

Home < Documentation < Labs < CI-and-NightlyPackagesGeneration

Overview

As of April 26th 2016, the build machines known as the Slicer factories have two roles:

  • Continuous integration for Slicer
  • Nightly packages generation and testing for Slicer application and associated extensions

There are currently two factories (factory.kitware and factory-south.kitware) in charge of both Nightly testing and Nightly generation of packages.

Current scripts to build extensions:


Limitations of the current infrastructure

  • Some extensions are consistently not built
  • No access to the factory internals
  • No well described procedure on how factory machine with packaging can be set up
  • Andriy: Not possible to choose the factory in the extension manager.
    • Jc: It is already possible to set the extension server in the settings
  • Jorge: Community want to help, but nobody know how to

Possible improvements

  • Temporary: Is there a way to run a manual build process ?
  • Sharing the workload for maintaining and troubleshooting the factory process
  • Cloud based solutions (e.g. AWS)
    • Costs ?
    • Preliminary tests ?


AWS cost

Instance types: https://aws.amazon.com/ec2/instance-types/ Instances prices: https://aws.amazon.com/ec2/purchasing-options/dedicated-instances/

G2.2xlarge (linux): $3825 / yr G2.2xlarge (windows): $4934 / yr

Data Transfer

  • Internet -> EC2: $0
  • EC2 -> Internet: $55 / yr / instance

Details: https://docs.google.com/spreadsheets/d/1tTndErxk_71ZjbT85Kwo5hkd9Yf10qm7ToaM087vKg4/edit?usp=sharing