Difference between revisions of "Documentation/Labs/CI-and-NightlyPackagesGeneration"
From Slicer Wiki
(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 | + | == 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-NightlyPackagesGenerationContents
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
- 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