140 likes | 295 Views
C /C++ Build tools & Testbed. J érémy Nguyen-Xuan (BE/CO/DO) 10.09.12. Build tools. Currently , CommonBuild is used for Java development C/C++ projects use make and /acc/local/. Move away from CommonBuild , Maven is a good candidate Opportunity to unify the builds tools. Maven.
E N D
C/C++ Buildtools&Testbed JérémyNguyen-Xuan (BE/CO/DO) 10.09.12
Build tools • Currently, CommonBuildisused for Java development • C/C++ projects use make and /acc/local/ • Move awayfromCommonBuild, Mavenis a good candidate • Opportunity to unify the buildstools
Maven • Maven NAR – Existing plugin for C/C++ • Modified and extendedMaven NAR to ourneedswith a solution based on Makefiles
Workflow Compilation phase Packaging phase Installation phase Makefiles Maven NAR Maven NAR Source code Dependencies Binaries NAR package Binary repository Resolvedependencies Maven NAR Maven NAR Dependency resolution phase
Usage • CMW – All productsmavenized, usedmainly for the Testbed deployment • Fesa3 – 50% of the projectsconverted, used for immediate feedbacks when check-in code • Timing – Prototyping for new timing system
Testbed Vision Reminder • Goals: • Ensure control system updates will not affect operations • Avoid late discovery of defects, bottlenecks and anomalies • Why? • Avoids costly mistakes • Provide more reliable products and services • Focus on development, not bug fixing for operation Niall TC may 2009
Testbed Vision Reminder • How? • Test the Controls Core Components together • Certify that they work together before deployment • Become part of the standard Controls Workflow • Automate: lower testing effort and time • Scope: • Limited to Control System integration testing • Controls Core Components “release candidates” only • Not “for rent” to individual projects or teams Niall TC may 2009
CO Testbed Hardware in place TIMING FEC03 SERVER06 SERVER07 FEC01 FEC02 FEC05 FEC04 Niall TC may 2009
The Testbed • Aims to improvequalitythroughtesting,for corecontrols components • Covered tests: functional, system, regression, backward compatibility • The tests are runautomatically • Stagingapproach
Deployment in Testbed • Automaticbuildbased on Bamboo
So far… • Foundseveral bugs and inconsistencies • Used for development (Fesa3, logging system, RBAC) • Test platforms (SLC6, Java7, 64-bit)
Future plans • Add stress tests • Integrate more components • Enhanced tests to cover more scenarios • Make the Testbed a mandatory step in the build/release workflow
Conclusion • Testbed isexpandingwell and needs constant work http://wikis/display/CSTBF/Home • Maven, still in experimental state http://wikis/display/CMMNBUILD/Maven