• Save
Technology standard ci_platforms
Upcoming SlideShare
Loading in...5
×
 

Technology standard ci_platforms

on

  • 396 views

 

Statistics

Views

Total Views
396
Views on SlideShare
396
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Technology standard ci_platforms Technology standard ci_platforms Presentation Transcript

  • Technology Standard: Continuous Integration Platforms Technology Standards: Open Source Portal Frameworks | CTO – Corporate Architecture Management (SW) | March 2011 | © Wincor Nixdorf, 2011 WINCOR NIXDORF
  • What is Continuous Integration?
    • “ In software engineering, continuous integration (CI) implements continuous processes of applying quality control — small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.”
    • members of a team integrate their work frequently
    • each integration is verified by an automated build (including test) to detect integration errors as quickly as possible
    Source = http://en.wikipedia.org/wiki/Continuous_integration See the advantages of CI
  • Technology Standard: Continuous Integration Platforms B) Technology/Vendor Comparison Matrix (General) Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 Source = http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix Current Situation of Hudson & Jenkins Criterias Cruise Control Hudson Jenkins Full name CruiseControl Hudson Jenkins Producer CruiseControl development team Hudson Development Group Jenkins Development Group Current Version 2.8.4 2.1.1 1.435 Licensing BSD – Style Licensing MIT License MIT License Community Activity Small Community Small Community (people moved to Jenkins) Mid-size Community Implementation Language Java Java Java Number of Developers 5 ? 5-10 (Core), 20+ (Plugins)
  • Technology Standard: Continuous Integration Platforms B) Technology/Vendor Comparison Matrix (Functionality 1/3) Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 Source = http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix Criterias Cruise Control Hudson Jenkins Shell / command script + + + Maven + + + Maven 2 + + + Ant + + + JUnit result rendering + + + Eclipse Plugin + + + API JMX JMX JMX Additional dependencies JRE, SCM client JRE JRE Project platform Java + anything Ant/Maven/NAnt can build Any language Any language Preferred build tool Ant, Maven Any Any Automatic configuration from build script - + (Maven only) + (Maven only) Text file configuration XML XML XML
  • Technology Standard: Continuous Integration Platforms B) Technology/Vendor Comparison Matrix (Functionality 2/3) Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 Source = http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix Criterias Cruise Control Hudson Jenkins MKS Support + - - Parallel builds + + + Distributed builds + (via Contrib) + + Auto gens. build.xml based on IDE project files ? + (via Intellij Idea) + (via Intellij Idea) Manually force builds + + + SCM Triggered builds + (if supported by SCM Tool) + + SCM poll based builds + + + Temporal build scheduling + + + Interproject Dependencies ? + + Builds Promotion - + (via plugin) + (via plugin) Builds Deletion - + + Reproduce history builds - - - Detect new failing tests while build ? + + User authentication (LDAP, Active Directory) + + + Email + + + Run executable + + +
  • Technology Standard: Continuous Integration Platforms B) Technology/Vendor Comparison Matrix (Functionality 3/3) Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 Source = http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix + + + Historic graphs + + + Self updating web page + + + Multi project support + + + Multi project view + + ? Add/remove agent machines (for distributed builds) Criterias Cruise Control Hudson Jenkins View change sets + + + Kill builds + + + Pause builds + - - Access to build artifacts + + + Browse CI's working copy - + + Delete CI's working copy - + +
  • Technology Standard: Continuous Integration Platforms B) Technology/Vendor Comparison Matrix (Market) * = details see backup ** = search on amazon.com *** = search for books about GUI Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 x-axis: time y-axis: relative interest level The data is displayed on a scale of 0 to 100, after normalization; each point on the graph has been divided by the highest point, or 100. (source: Google) Legend: Criterias Cruise Control Hudson Jenkins Google Insight interest level* Low Medium (Decreasing) High (Increasing) Amazon Books** 21 37 16 Amazon Books*** (GUI Technology General) 386
  • Technology Standard: CI Platforms C) Technology Decision Technology Standards: Open Source Portal Frameworks | CTO – Corporate Architecture Management (SW) | March 2011 | © Wincor Nixdorf, 2011 TBD  Notes
    • Scope of this technology standard : CI Platform for WN
    • QA: for all standard R&D solutions the usage has to be validated and approved by the solution QA teams
    • Projects: have to use the corporate standard, deviation only if necessary for specific customer environments
    • Version: if feasible the newest version of the standard has to be preferred
    • Other Scenarios: /
  • BACKUP BACKUP Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011
  • Jenkins vs. Hudson What had happened?
    • During November 2010, an issue arose in the community of Hudson with respect to the infrastructure used, which grew to encompass questions over Oracle's stewardship and perceived control of the project.
    • Negotiations between the principal project contributors and Oracle took place, and although there were many areas of agreement a key sticking point was the control of the name "Hudson" itself, which Oracle claimed, and for which it submitted a trademark registration in early December 2010 (not granted as of February 2011).
    • As a result, on January 11, 2011, a proposal was made to change the project name from "Hudson" to "Jenkins". The proposal was overwhelmingly approved by those that voted on January 29, 2011, creating the Jenkins project.
    • On February 1, 2011, Oracle indicated that they, in partnership with others in the community intended to continue development of Hudson making the necessary infrastructure changes, confirming two development branches.
    • Both the Jenkins and Hudson projects appear to consider the other to be a fork.
    Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011
  • Jenkins vs. Hudson Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 January 2011 Source = http://blog.tfnico.com/2011/02/sonatype-and-hudsonjenkins-analysis.html
    • CloudBees is committed to supporting the ongoing growth, maturity and viability of the Jenkins Continuous Integration (CI) platform.
    • CloudBees also wants to promote engagement amongst the Jenkins community. Therefore, in support of these goals, CloudBees announces two contests to help identify and resolve bugs in the Jenkins CI platform.
    • The reporting and resolution of bugs improves the platform for the benefit of the entire Jenkins Community.
  • Jenkins vs. Hudson Comparison of key metrics
    • Most of the Huston developers moved to Jenkins and made more contribution.
    • Jenkins GitHub repositories outnumber Hudson by a ratio of sixty to one.
    • Jenkins 'ticket activity' is significantly higher than that of Hudson.
    Source = http://www.theserverside.com/discussions/thread.tss?thread_id=63143 Date: 24. Oct. 2011 Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011 Measurement Metric Jenkins Hudson User upgrades since March 2011 85% 15% Ticket activity since split 2.300 300 Average # of commits in plug-ins / week 280 16 GitHub repositories 603 10 GitHub watchers 833 135 GitHub members 117 9 User + Dev mailing list traffic / week 1.295 299 Dev. List subscribers 1.150 508 Dev. List growth since March 2011 +41% -7% User list subscribers 2.084 800 User list growth since March 2011 +62% -8% Twitter followers 4.826 593
  • Jenkins vs. Hudson Hudson after divorce
    • On May 3, 2011, the Eclipse Foundation in conjunction with the key Hudson committers, Oracle, Sonatype and other community supporters put forward a formal proposal for the transfer of Hudson, including the core code and problematic trademarks to the Eclipse Foundation.
    • The founder of Hudson saw the Oracle move as validating Jenkins. "When we were talking with Oracle to find a middle ground, they made it very clear that they have no intention of giving up the trademark control. But with this move, they clearly acknowledge that Oracle couldn't keep up with the Jenkins project.“
    • He also questioned whether Oracle could legally reassign copyright and relicense all the Hudson intellectual property as part of the move to Eclipse.
    Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011
  • CI Advantages
    • Continuous integration has many advantages:
        • when unit tests fail or a bug emerges, developers might revert the codebase to a bug-free state, without wasting time debugging
        • developers detect and fix integration problems continuously - avoiding last-minute chaos at release dates, (when everyone tries to check in their slightly incompatible versions).
        • early warning of broken/incompatible code
        • early warning of conflicting changes
        • immediate unit testing of all changes
        • constant availability of a "current" build for testing, demo, or release purposes
        • immediate feedback to developers on the quality, functionality, or system-wide impact of code they are writing
        • frequent code check-in pushes developers to create modular, less complex code
        • metrics generated from automated testing and CI (such as metrics for code coverage, code complexity, and features complete) focus developers on developing functional, quality code, and help develop momentum in a team
    Source = http://en.wikipedia.org/wiki/Continuous_integration Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011
  • CI Disadvantages
    • Continuous integration has also disadvantages:
        • initial setup time required
        • well-developed test-suite required to achieve automated testing advantages
        • hardware costs for build machines can be significant
    Source = http://en.wikipedia.org/wiki/Continuous_integration Technology Standards: CI Platforms| CTO – Corporate Architecture Management (SW) | October 2011 | © Wincor Nixdorf, 2011