Continuous Integration - Mobile Practice

14
A division of Symphony Teleca CONTINUOUS INTEGRATION - MOBILE PRACTICE Vedhamanikandan M

description

Continuous Integration (CI) is a development practice that requires developers to integrate code into a shared repository several times a day. Each check-in is then verified by an automated build, allowing teams to detect problems early. In this post, Vedamanikandan explains continuous integration.

Transcript of Continuous Integration - Mobile Practice

Page 1: Continuous Integration - Mobile Practice

A division of Symphony Teleca

CONTINUOUS INTEGRATION - MOBILE PRACTICE

Vedhamanikandan M

Page 2: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Benefits

One Time setup of Master Server Flexibility for your development / operations

environment Open Source Java Code A lot of well developed user plugins and active

communities Build your source code on every commit Clearly indicate the progress Improve visibility and decision making Robust, no single point of failure Multiple platforms and version Reporting: Consistent and timely Pass/ Fail and

Trends Regression Testing Reduce risk of releasing software Validate how good your business plan.

Page 3: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Aditi has worked with and assisted some of the industry

leaders in

Cloud, Big Data and Mobility solution spaces.

Clients we are fortunate to work with:

Page 4: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Continuous Integration – An Overview

Page 5: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Continuous Integration – An Overview

Source Control

Build Test Report Package & Deploy

Plugins

Jenkins Master

OS and other Software Requirements

Page 6: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Jenkins Ladder

Page 7: Continuous Integration - Mobile Practice

A division of Symphony Teleca

• One Time Setup of Master Server• Flexibility for your development / operations environment• Open Source Java Code• A lot of well developed user plugins and active communities

INSTALLATION• Windows Service• Windows Process• Apache Server• Tomcat• Jetty• Glass Fish

CONFIGURATION• System Environment• Global Properties JDK• Mail Server

REQUIREMENTS• Java JDK 5.0 and Above

OS• Windows• Debian• Ubuntu• Redhat• Fedora• CentOS• SUSE• OpenSUSE

HARDWARE• Memory• Disk space

Install and Configure

Page 8: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Automated Build

• Build your source code on every commit.• Early and often Integration of source code.• Schedule for appropriate timing.

• BUILD PLUGINS

• Ant• Maven 2• MSBuild• PowerShell• Rake• Ruby

SCM PLUGINS• CVS• GitHub• TFS• Subversion

JENKINS PROGRAMMING• Create a Project• Build a project• Configure Project to Trigger from Source

Controls• Create a Step to Build

JENKINS PLUGINS• Build Timeout• Green Balls

Page 9: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Unit and Integration Testing

• Testing across multiple code modifications.• Early test failure information• Reporting: Pass / Fail and Trends• Tests are repeatable• Early detection of bugs is worth a lot at the end

• TESTING PLUGINS

• MS Tests• NUnit• Japex• TestNG• Mozmill• Junit• JSUnit Plugins• Gallio• Jasmine

JENKINS PROGRAMMING• Configure Step in Project to

run tests• Configure Post build

collection of reports

Page 10: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Functional Tests

• Reporting: Consistent and timely Pass / Fail and Trends.• Tests are repeatable• Detect bugs and help to prevent their reintroduction• Regression testing• Reduce risk in a way business users understand.

JENKINS AND TEST PLUGINS• Hudson locks and latches• Cucumber / Calabash• Selenium• Parameterized trigger• Show build parameters

JENKINS PROGRAMMING• Rollup Driver• Labeled clouds• Test counts• Twist

Page 11: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Reporting and Metrics

• Clearly indicates progress• Improve visibility and decision making• Help understand maintainability of code base.• Trends can indicate systemic issues in governance / process.

REPORTING AND METRICS PLUGINS• Javadoc• Code Analysis• Console sections• Doclinks

JENKINS PROGRAMMING• Collect Output• Configure Build• Regular Expression• Analytics ToolsHTML

PUBLSHER• Log Parser• Performance• Statistics• Section view• Warnings

Page 12: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Distributed Builds

• Fast, Fast, Fast• Robust, no single point of failure• Multiple platforms and versions.

• DISTRIBUTED BUILD PLUGINS

• Test Flight• Amazon EC2• Virtual Box• vSphere Cloud

INFRASTRUCTURE• Vmware• EC2• CloudBees

Page 13: Continuous Integration - Mobile Practice

A division of Symphony Teleca

Continuous Deployment /Delivery

• Reduce risk of releasing software• Get real feedback on the progress of their projects• Validate how good your business plan

• JENKINS PLUGINS

• Artifact deployed

• Copy Artifacts• Show build

parameters

JENKINS PROGRAMMING• Scripting• Zip• Configuration

Management• SAAS