SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Continuous Integration 
(Jenkins) 
Ahmed Gomaa 
22nd Oct 2014
2 
Agenda 
• What’s Continuous Integration 
• Jenkins 
–Features 
–Plugin 
–Security Management 
• Demo 
• Q&A
3 
What’s 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. 
Ref: http://en.wikipedia.org/wiki/Continuous_integration
4 
History 
• Continuous Integration emerged in the Extreme 
Programming (XP) community, and XP advocates 
Martin Fowler and Kent Beck first wrote about 
continuous integration circa 1999.
5 
Continuous Integration 
• Continuous Integration is a software development 
practice where members of a team integrate their 
work frequently, usually each person integrates at 
least daily - leading to multiple integrations per day. 
Each integration is verified by an automated build 
(including test) to detect integration errors as quickly 
as possible. 
-- Martin Fowler 
Ref: http://martinfowler.com/articles/continuousIntegration.html
Why Continuous Integration? 
• Integration is hard, effort increase 
exponentially with 
6 
– Number of components 
– Number of bugs 
– Time since last integration 
Ref: http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson
Continuous Integration Benefit 
• Project Management 
7 
– Detect system development problems earlier 
– Reduce risks of cost, schedule, and budget 
• Code Quality 
– Measurable and visible code quality 
– Continuous automatic regression unit test
8
9 
Best Practice of CI 
• Single Source Repository. 
• Automate the Build and Test 
• Everyone Commits Every Day 
• Keep the Build Fast 
• Everyone can see what's happening 
• Automate Deployment (Optional)
10 
What’s Jenkins 
1.An open source CI server 
2.More then 85000 installations (May 2014) 
3.Plug-in extensibility (Over 900 plugins) 
4.MIT license
Continuous Integration Overview 
11 
Ref: http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpg
12 
Jenkins Features 
• Trigger a build 
• Get source code from repository 
• Automatically build and test 
• Generate report & notify 
• Deploy 
• Distributed build
13 
Jenkins Requirement 
• Web Server (Tomcat, WebLogic, …) 
• Build tool (Maven, Ant) 
• SCM (Git, Svn, Cvs, …)
14 
Jenkins Plugins 
• Build triggers 
• Source code management 
• Build tools 
• Build notifiers 
• Build reports 
• Artifact uploaders 
• UI plugins 
• Authentication and user management
15 
Build Trigger 
• Manually click build button 
• Build periodically 
• Build whenever a SNAPSHOT 
dependency is built 
• Build after other projects are built 
• Poll SCM 
• IRC, Jabber, …
16 
Get Source Code (1/2) 
• CVS (build-in) 
• SVN (build-in) 
• GIT (requires Git) 
• ClearCase (requires ClearCase) 
• Mercurial, PVCS, VSS, …
17 
Get Source Code (2/2) 
• Get current snapshot 
• Get baseline (tag)
18 
Code Change History
19 
Build Tools 
• Java 
– Maven (build-in), Ant, Gradle 
• .Net 
– MSBuild, PowerShell 
• Shell script 
– Python, Ruby, Groovy
20 
Build Wrapper 
• Build name (version no) setter 
• Virtual machine (VMWare, Virtual Box) 
• Set environment variable 
• ClearCase release plugin 
• …
21 
Build Notifier 
• E-mail 
• Twitter 
• Jabber 
• IRC 
• RSS 
• Google calendar 
• …
22 
Build Report 
• Static Code Analysis 
– Checkstyle, PMD, Findbugs, Compiler 
Warning 
• Test Report & Code Coverage 
– JUnit, TestNG, Cobertura, Clover 
• Open Tasks
23 
CheckStyle
24 
FindBugs
25 
Test Report
26 
Test Code Coverage
27 
Artifact uploaders 
• Tomcat 
• JBoss 
• Glassfish 
• WebSphere 
• FTP 
• SSH
28 
UI Enhancement 
• Dashboard 
• Sectioned view 
• iPhone/Android
29 
Security Management 
• Security Realm 
– LDAP 
– Jenkins's own user database 
– Delegate to servlet container 
• Authorization 
– Anyone can do anything 
– Logged-in users can do anything 
– Matrix-based security 
– Project-based Matrix Authorization Strategy 
– Legacy mode
30 
Security Management 
• Matrix-based security 
• Project-based Matrix Authorization
Security Management Plugins 
• Active directory, OpenID, MySQL, … 
• Role based privilege control 
31
32 
Plugin Usage Statistics 
Ref: http://jenkins-ci.org/content/updated-usage-stats-available
Demo
34 
Questions & Answers

Weitere ähnliche Inhalte

Was ist angesagt?

Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins IntroductionPavan Gupta
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with JenkinsMartin Málek
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginnersBugRaptors
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkinsAbe Diaz
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java worldAshok Kumar
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Dennys Hsieh
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with JenkinsEdureka!
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansibleKhizer Naeem
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CDHoang Le
 
Devops & Configuration management tools
Devops & Configuration management toolsDevops & Configuration management tools
Devops & Configuration management toolsSonu Meena
 

Was ist angesagt? (20)

Jenkins Introduction
Jenkins IntroductionJenkins Introduction
Jenkins Introduction
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Jenkins tutorial for beginners
Jenkins tutorial for beginnersJenkins tutorial for beginners
Jenkins tutorial for beginners
 
Introduction to jenkins
Introduction to jenkinsIntroduction to jenkins
Introduction to jenkins
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
Jenkins for java world
Jenkins for java worldJenkins for java world
Jenkins for java world
 
Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)Continuous Integration (Jenkins/Hudson)
Continuous Integration (Jenkins/Hudson)
 
Getting started with Jenkins
Getting started with JenkinsGetting started with Jenkins
Getting started with Jenkins
 
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...
 
Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Jenkins-CI
Jenkins-CIJenkins-CI
Jenkins-CI
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
 
Jenkins
JenkinsJenkins
Jenkins
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 
Devops & Configuration management tools
Devops & Configuration management toolsDevops & Configuration management tools
Devops & Configuration management tools
 
Introduction to CI/CD
Introduction to CI/CDIntroduction to CI/CD
Introduction to CI/CD
 

Ähnlich wie Jenkins Overview

Continuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EEContinuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EEFrancesco Marchitelli
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkinsecubemarketing
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...DevOps4Networks
 
Introduction to jenkins for the net developer
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developerAbe Diaz
 
Software Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery ApproachSoftware Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery ApproachGiovanni Toraldo
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Releaseelliando dias
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitisSteve Povilaitis
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkinsecubemarketing
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Gilad Garon
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using JenkinsRogue Wave Software
 
Hudson
HudsonHudson
Hudson8x8
 

Ähnlich wie Jenkins Overview (20)

Continuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EEContinuous Integration with Jenkins and Java EE
Continuous Integration with Jenkins and Java EE
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
Introduction to jenkins for the net developer
Introduction to jenkins for the net developerIntroduction to jenkins for the net developer
Introduction to jenkins for the net developer
 
Software Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery ApproachSoftware Delivery in 2016 - A Continuous Delivery Approach
Software Delivery in 2016 - A Continuous Delivery Approach
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
 
Continuous deployment steve povilaitis
Continuous deployment   steve povilaitisContinuous deployment   steve povilaitis
Continuous deployment steve povilaitis
 
Continuous Everything v2.0
Continuous Everything v2.0Continuous Everything v2.0
Continuous Everything v2.0
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
Devops architecture
Devops architectureDevops architecture
Devops architecture
 
Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Contineous integration
Contineous integrationContineous integration
Contineous integration
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
 
Build Time Hacking
Build Time HackingBuild Time Hacking
Build Time Hacking
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
Hudson
HudsonHudson
Hudson
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 

Kürzlich hochgeladen

Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Kürzlich hochgeladen (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

Jenkins Overview

  • 1. Continuous Integration (Jenkins) Ahmed Gomaa 22nd Oct 2014
  • 2. 2 Agenda • What’s Continuous Integration • Jenkins –Features –Plugin –Security Management • Demo • Q&A
  • 3. 3 What’s 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. Ref: http://en.wikipedia.org/wiki/Continuous_integration
  • 4. 4 History • Continuous Integration emerged in the Extreme Programming (XP) community, and XP advocates Martin Fowler and Kent Beck first wrote about continuous integration circa 1999.
  • 5. 5 Continuous Integration • Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. -- Martin Fowler Ref: http://martinfowler.com/articles/continuousIntegration.html
  • 6. Why Continuous Integration? • Integration is hard, effort increase exponentially with 6 – Number of components – Number of bugs – Time since last integration Ref: http://www.slideshare.net/carlo.bonamico/continuous-integration-with-hudson
  • 7. Continuous Integration Benefit • Project Management 7 – Detect system development problems earlier – Reduce risks of cost, schedule, and budget • Code Quality – Measurable and visible code quality – Continuous automatic regression unit test
  • 8. 8
  • 9. 9 Best Practice of CI • Single Source Repository. • Automate the Build and Test • Everyone Commits Every Day • Keep the Build Fast • Everyone can see what's happening • Automate Deployment (Optional)
  • 10. 10 What’s Jenkins 1.An open source CI server 2.More then 85000 installations (May 2014) 3.Plug-in extensibility (Over 900 plugins) 4.MIT license
  • 11. Continuous Integration Overview 11 Ref: http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpg
  • 12. 12 Jenkins Features • Trigger a build • Get source code from repository • Automatically build and test • Generate report & notify • Deploy • Distributed build
  • 13. 13 Jenkins Requirement • Web Server (Tomcat, WebLogic, …) • Build tool (Maven, Ant) • SCM (Git, Svn, Cvs, …)
  • 14. 14 Jenkins Plugins • Build triggers • Source code management • Build tools • Build notifiers • Build reports • Artifact uploaders • UI plugins • Authentication and user management
  • 15. 15 Build Trigger • Manually click build button • Build periodically • Build whenever a SNAPSHOT dependency is built • Build after other projects are built • Poll SCM • IRC, Jabber, …
  • 16. 16 Get Source Code (1/2) • CVS (build-in) • SVN (build-in) • GIT (requires Git) • ClearCase (requires ClearCase) • Mercurial, PVCS, VSS, …
  • 17. 17 Get Source Code (2/2) • Get current snapshot • Get baseline (tag)
  • 18. 18 Code Change History
  • 19. 19 Build Tools • Java – Maven (build-in), Ant, Gradle • .Net – MSBuild, PowerShell • Shell script – Python, Ruby, Groovy
  • 20. 20 Build Wrapper • Build name (version no) setter • Virtual machine (VMWare, Virtual Box) • Set environment variable • ClearCase release plugin • …
  • 21. 21 Build Notifier • E-mail • Twitter • Jabber • IRC • RSS • Google calendar • …
  • 22. 22 Build Report • Static Code Analysis – Checkstyle, PMD, Findbugs, Compiler Warning • Test Report & Code Coverage – JUnit, TestNG, Cobertura, Clover • Open Tasks
  • 26. 26 Test Code Coverage
  • 27. 27 Artifact uploaders • Tomcat • JBoss • Glassfish • WebSphere • FTP • SSH
  • 28. 28 UI Enhancement • Dashboard • Sectioned view • iPhone/Android
  • 29. 29 Security Management • Security Realm – LDAP – Jenkins's own user database – Delegate to servlet container • Authorization – Anyone can do anything – Logged-in users can do anything – Matrix-based security – Project-based Matrix Authorization Strategy – Legacy mode
  • 30. 30 Security Management • Matrix-based security • Project-based Matrix Authorization
  • 31. Security Management Plugins • Active directory, OpenID, MySQL, … • Role based privilege control 31
  • 32. 32 Plugin Usage Statistics Ref: http://jenkins-ci.org/content/updated-usage-stats-available
  • 33. Demo
  • 34. 34 Questions & Answers

Hinweis der Redaktion

  1. Regression
  2. Regression
  3. Regression