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.
2. 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.
3. 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:
4. A division of Symphony Teleca
Continuous Integration – An Overview
5. A division of Symphony Teleca
Continuous Integration – An Overview
Source
Control
Build Test Report Package &
Deploy
Plugins
Jenkins Master
OS and other Software Requirements
7. 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
8. 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
9. 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
10. 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
11. 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 Tools
HTML PUBLSHER
• Log Parser
• Performance
• Statistics
• Section view
• Warnings
12. 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
13. 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
14. A division of Symphony Teleca
Web | Blog | Facebook | Twitter | LinkedIn