SlideShare una empresa de Scribd logo
1 de 63
Descargar para leer sin conexión
Continuous Integration
Continuous Integration
• What is Continuous Integration?
• Why do we need it?
• Different phases of adopting Continuous Integration
• Developers commit code to a shared
repository on a regular basis.
• Version control system is being monitored.
When a commit is detected, a build will be
triggered automatically.
• If the build is not green, developers will be
notified immediately.
What is Continuous Integration?
Why do we need Continuous Integration?
• Detect problems or bugs, as early as possible, in the
development life cycle.
• Since the entire code base is integrated, built and tested
constantly , the potential bugs and errors are caught earlier in
the life cycle which results in better quality software.
Different stages of adopting
Continuous Integration
Few commits
Stage 1:
• No build servers.
• Developers commit
on a regular basis.
• Changes are integrated and
tested manually.
• Fewer releases.
Stage 2:
Build nightly
Build and run tests
• Automated builds are
scheduled on a regular basis.
• Build script compiles the
application and runs a set of
automated tests.
• Developers now commit their
changes regularly.
• Build servers would alert the
team members in case of
build failure.
Stage 3:
Triggered
atomically
Build and run tests
• A build is triggered whenever
new code is committed to
the central repository.
• Broken builds are usually
treated as a high priority
issue and are fixed quickly.
Stage 4:
Triggered
atomically
Build, run code quality and code
coverage metrics along with tests
• Automated code quality
and code coverage metrics
are now run along with
unit tests to continuously
evaluate the code quality.
Is the code coverage increasing?
Do we have fewer and fewer
build failures?
Stage 5:
Triggered
atomically
• Automated Deployment
Production
CI/CD Environment
_______________________________________________
Continuous Integration
Continuous Delivery
Continuous Deployment
• Continuous Integration
The practice of merging development work with the main branch
constantly.
• Continuous Delivery
Continual delivery of code to an environment once the code is ready to
ship. This could be staging or production. The idea is the product is
delivered to a user base, which can be QAs or customers for review and
inspection.
• Continuous Deployment
The deployment or release of code to production as soon as it is ready.
DevOps
__________________________________________________
Deployment
How to implement Continuous Integration?
Non-hosted solutions Hosted solutions
Continuous Integration is also a mindset
• Fixing broken builds should be treated as a high priority issue for all team
members.
• The deployment process should be automated, with no manual steps involved.
• All team members should focus on contributing to high-quality tests because the
confidentiality of the CI process highly depends on the quality of the tests.
What is Jenkins
• Jenkins is a continuous integration and build server.
• It is used to manually, periodically, or automatically build software
development projects.
• It is an open source Continuous Integration tool written in Java.
• Jenkins is used by teams of all different sizes, for projects with various
languages.
Why Jenkins is popular
• Easy to use
• Great extensibility
– Support different version control systems
– Code quality metrics
– Build notifiers
– UI customization
• Jenkins’ Master and Slave Architecture
• Some Important Jenkins’ Terminologies
Jenkins’ Master and Slave Architecture
Master:
• Schedule build jobs.
• Dispatch builds to the slaves for the
actual job execution.
• Monitor the slaves and record the
build results.
• Can also execute build jobs directly.
Slave:
• Execute build jobs dispatched by
the master.
Jenkins UI Overview
Install GIT and GitHub plugin
Install and Configure Maven
What does Maven do?
• Maven describes how the software is built.
• Maven describes the project’s dependencies.
Java Build Tools
Configure Jenkins for a Maven -based project
Create a Maven -based Jenkins project
Run Maven-based Jenkins project
Maven pom.xml file
• Describe the software project being built, including
– The dependencies on other external modules.
– The directory structures.
– The required plugins.
– The predefined targets for performing certain tasks such as
compilation and packaging.
Different Phases in Maven Build Lifecycle
validate Validate the project is correct and all necessary information is available.
compile Compile the source code of the project.
test Test the compiled source code using a suitable unit testing framework.
package Take the compiled code and package it in its distributable format.
verify Run any checks on results of integration tests to ensure quality criteria are met.
install Install the package into the local repository, for use as a dependency in other
projects locally.
deploy Copy the final package to the remote repository for sharing with other
developers and projects.
Maven Build Phases
• These lifecycle phases are executed sequentially to complete the default
lifecycle.
• We want to specify the maven package command, this command would
execute each default life cycle phase in order including validate, compile,
test before executing package.
• We only need to call the last build phase to be executed.
Jenkins code quality metrics report
Checkstyle is a code static analysis tool to help programmers to write
Java code that adheres to a coding standard such as
• Avoiding multiple blank lines;
• Removing unused variables;
• Enforcing correct indentations;
• …
Jenkins’ support for other build systems
(Ant, Gradle and shell scripts)
Apache Ant
• Widely-used and very well-known build scripting language for Java.
• Flexible, extensible, relatively low-level scripting language.
• An Ant build script is made up of a number of targets, each target
performs a particular job in the build process.
Gradle
• Gradle is a relatively new open source build tool for the Java Virtual Machine.
• Build scripts for Gradle are written in a Domain Specific Language based on
Groovy.
• The concise nature of Groovy scripting lets you write very expressive build scripts
with very little code.
Build Scripts
Maven Build Script
Gradle Build Script
Ant Build Script Sample
Install and configure Tomcat as a staging
environment
Tomcat
Tomcat is an open-source web server and provides a "pure Java” HTTP
web server environment in which Java code can run.
• Install copy artifact and deploy to container plugins
• Deploy our application to staging environment
Jenkins Build Pipeline
Build Pipeline Plugin
Parallel Jenkins Build
Continuous Delivery
Deploy our app to production
Benefits of a code-based pipeline
• Version control
• Best Practices
• Less error-prone execution of jobs
• Logic-based execution of steps
Sample Jenkinsfile
Additional automation
• Setup Git repository polling
• Deployment to our tomcat servers
• We will setup tasks to run in parallel
Steps
• Step 1: Configure securit groups for Tomcat servers and create key pairs.
• Step 2: Provision instances to staging and production
environments.
• Step 3: Install and run Tomcat on created instances.
• Step 4: Fully automate our existing Jenkins pipeline.
Introduction to Distributed Jenkins Builds
Install Jenkins Master in the Cloud
Jenkins Slave Agent
Install Jenkins slaves in the cloud and form a
Jenkins cluster
Concurrent Builds on Jenkins Cluster
Label Jenkins Nodes
Build Orchestration: Jenkins
_____________________________
• Continuous integration system
• Enable automated build and test process
• Can monitoring executions of externally‐run jobs, such as cron
jobs and procmail jobs…
• Dependency tracking, allowing file finger printing and tracking
for example which build is using which version of jars…
• Generates list of changes made to build from Subversion
• Distributed build/test
• Jenkins is a build orchestration, CI software
• building/testing software projects continuously
• monitoring executions of externally‐run jobs
• FishEye allows you to extract information from your source
code repository and display it in sophisticated reports.
• Crucible allows you to request, perform and manage code
reviews.
• Subversion centralized version control system
• Sonar is a quality management platform for analyzing and
measuring source code quality.
CI/CD Pipeline: Functional Architecture
_______________________________________________
Version Control
Version
Control
System
Code
Repository
Artifact
Repository
(Artifactory)
Build
Management
(Maven)
Build
Automation
(Jenkins)
Test
Automation
QA
(SonarCube)
Release
Orchestration
Deployment
Automation
Develop
Pre-commit
Tests
1
2
Commit code to
Version Control
System
3 CI polls VCS
and creates Build
5
Automated Test
Staging
UAT SAT
Security Scan
Perf. & Load Testing
7
4
6
Release
8
Fail
Fail
Fail
Not approved
9
An Automated, Integrated and End to Ent CCRM
_______________________________________________
Git, GitLab, GitHub Enteprise,
SVN…
Maven, Ant, Gradle
Nexsus, Artifactory
Jenkins…
Junit, Test NG, Cucumber, Selenium, JMeter, SoapUI, LoadRunner…
Release
Management
Source Code
Management
(Version Control)
Build
Automation
CCRM
Test
Automation
Environment
Configuration
Management
CI/CD
jenkins.pdf

Más contenido relacionado

Similar a jenkins.pdf

Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkinsecubemarketing
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svnAnkur Goyal
 
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
 
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonEclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonVladLica
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applicationsSunil Dalal
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptxAnuj Sharma
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsMichael Lihs
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptxVgPolampalli
 
Learn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideLearn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideSam Dias
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationhugo lu
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
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!
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkinsecubemarketing
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development PipelineGlobalLogic Ukraine
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deploymentMartijn van der Kamp
 

Similar a jenkins.pdf (20)

Why NXTware Remote for Jenkins
Why NXTware Remote for JenkinsWhy NXTware Remote for Jenkins
Why NXTware Remote for Jenkins
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
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
 
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/HudsonEclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
Eclipse DemoCamp Bucharest 2014 - Continuous Integration Jenkins/Hudson
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 
Continous Integration.pptx
Continous Integration.pptxContinous Integration.pptx
Continous Integration.pptx
 
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source ToolsTYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 
Learn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One GuideLearn Continuous Integration with Jenkins All in One Guide
Learn Continuous Integration with Jenkins All in One Guide
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
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
 
Devops
DevopsDevops
Devops
 
Continuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with JenkinsContinuous Integration for OpenVMS with Jenkins
Continuous Integration for OpenVMS with Jenkins
 
Continuous Testing With Terraform
Continuous Testing With TerraformContinuous Testing With Terraform
Continuous Testing With Terraform
 
Dev ops using Jenkins
Dev ops using JenkinsDev ops using Jenkins
Dev ops using Jenkins
 
Enter the Team City
Enter the Team CityEnter the Team City
Enter the Team City
 
Modern Web-site Development Pipeline
Modern Web-site Development PipelineModern Web-site Development Pipeline
Modern Web-site Development Pipeline
 
Continuous integration, delivery & deployment
Continuous integration,  delivery & deploymentContinuous integration,  delivery & deployment
Continuous integration, delivery & deployment
 

Último

如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一
如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一
如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一hnfusn
 
2024 TOP 10 most fuel-efficient vehicles according to the US agency
2024 TOP 10 most fuel-efficient vehicles according to the US agency2024 TOP 10 most fuel-efficient vehicles according to the US agency
2024 TOP 10 most fuel-efficient vehicles according to the US agencyHyundai Motor Group
 
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一ffhuih11ff
 
Centering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha BinghamCentering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha BinghamForth
 
Equity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta CordovaEquity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta CordovaForth
 
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一F La
 
办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样
办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样
办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样umasea
 
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 HybridHyundai Motor Group
 
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办
(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办
(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办fqiuho152
 
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一fjjwgk
 
原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证jdkhjh
 
Program Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian WillissProgram Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian WillissForth
 
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书zdzoqco
 
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档208367051
 
( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607
( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607
( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607dollysharma2066
 

Último (20)

如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一
如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一
如何办理(UQ毕业证书)昆士兰大学毕业证毕业证成绩单原版一比一
 
2024 TOP 10 most fuel-efficient vehicles according to the US agency
2024 TOP 10 most fuel-efficient vehicles according to the US agency2024 TOP 10 most fuel-efficient vehicles according to the US agency
2024 TOP 10 most fuel-efficient vehicles according to the US agency
 
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
(毕业原版)曼尼托巴大学毕业证(曼大学位证)毕业证成绩单留信学历认证原版一比一
 
Centering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha BinghamCentering Equity Panel by Samantha Bingham
Centering Equity Panel by Samantha Bingham
 
Equity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta CordovaEquity & Freight Electrification by Jose Miguel Acosta Cordova
Equity & Freight Electrification by Jose Miguel Acosta Cordova
 
sauth delhi call girls in Connaught Place🔝 9953056974 🔝 escort Service
sauth delhi call girls in  Connaught Place🔝 9953056974 🔝 escort Servicesauth delhi call girls in  Connaught Place🔝 9953056974 🔝 escort Service
sauth delhi call girls in Connaught Place🔝 9953056974 🔝 escort Service
 
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
办理(PITT毕业证书)美国匹兹堡大学毕业证成绩单原版一比一
 
办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样
办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样
办理学位证(MLU文凭证书)哈勒 维滕贝格大学毕业证成绩单原版一模一样
 
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
2024 WRC Hyundai World Rally Team’s i20 N Rally1 Hybrid
 
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Jama Masjid (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办
(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办
(办理原版一样)Flinders毕业证弗林德斯大学毕业证学位证留信学历认证成绩单补办
 
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
如何办理(UCI毕业证书)加州大学欧文分校毕业证毕业证成绩单原版一比一
 
Hot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Pira Garhi🔝 9953056974 🔝 escort Service
 
原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制阳光海岸大学毕业证(JCU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证办理科廷科技大学毕业证Curtin毕业证留信学历认证
办理科廷科技大学毕业证Curtin毕业证留信学历认证
 
Program Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian WillissProgram Design by Prateek Suri and Christian Williss
Program Design by Prateek Suri and Christian Williss
 
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制中央昆士兰大学毕业证(CQU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书办理克莱姆森大学毕业证成绩单|购买美国文凭证书
办理克莱姆森大学毕业证成绩单|购买美国文凭证书
 
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
原版1:1定制宾州州立大学毕业证(PSU毕业证)#文凭成绩单#真实留信学历认证永久存档
 
( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607
( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607
( Best ) Genuine Call Girls In Mandi House =DELHI-| 8377087607
 

jenkins.pdf

  • 2. Continuous Integration • What is Continuous Integration? • Why do we need it? • Different phases of adopting Continuous Integration
  • 3. • Developers commit code to a shared repository on a regular basis. • Version control system is being monitored. When a commit is detected, a build will be triggered automatically. • If the build is not green, developers will be notified immediately. What is Continuous Integration?
  • 4. Why do we need Continuous Integration? • Detect problems or bugs, as early as possible, in the development life cycle. • Since the entire code base is integrated, built and tested constantly , the potential bugs and errors are caught earlier in the life cycle which results in better quality software.
  • 5. Different stages of adopting Continuous Integration
  • 6. Few commits Stage 1: • No build servers. • Developers commit on a regular basis. • Changes are integrated and tested manually. • Fewer releases.
  • 7. Stage 2: Build nightly Build and run tests • Automated builds are scheduled on a regular basis. • Build script compiles the application and runs a set of automated tests. • Developers now commit their changes regularly. • Build servers would alert the team members in case of build failure.
  • 8. Stage 3: Triggered atomically Build and run tests • A build is triggered whenever new code is committed to the central repository. • Broken builds are usually treated as a high priority issue and are fixed quickly.
  • 9. Stage 4: Triggered atomically Build, run code quality and code coverage metrics along with tests • Automated code quality and code coverage metrics are now run along with unit tests to continuously evaluate the code quality. Is the code coverage increasing? Do we have fewer and fewer build failures?
  • 12.
  • 14. • Continuous Integration The practice of merging development work with the main branch constantly. • Continuous Delivery Continual delivery of code to an environment once the code is ready to ship. This could be staging or production. The idea is the product is delivered to a user base, which can be QAs or customers for review and inspection. • Continuous Deployment The deployment or release of code to production as soon as it is ready.
  • 16. How to implement Continuous Integration? Non-hosted solutions Hosted solutions
  • 17. Continuous Integration is also a mindset • Fixing broken builds should be treated as a high priority issue for all team members. • The deployment process should be automated, with no manual steps involved. • All team members should focus on contributing to high-quality tests because the confidentiality of the CI process highly depends on the quality of the tests.
  • 18. What is Jenkins • Jenkins is a continuous integration and build server. • It is used to manually, periodically, or automatically build software development projects. • It is an open source Continuous Integration tool written in Java. • Jenkins is used by teams of all different sizes, for projects with various languages.
  • 19. Why Jenkins is popular • Easy to use • Great extensibility – Support different version control systems – Code quality metrics – Build notifiers – UI customization
  • 20.
  • 21.
  • 22. • Jenkins’ Master and Slave Architecture • Some Important Jenkins’ Terminologies
  • 23. Jenkins’ Master and Slave Architecture Master: • Schedule build jobs. • Dispatch builds to the slaves for the actual job execution. • Monitor the slaves and record the build results. • Can also execute build jobs directly. Slave: • Execute build jobs dispatched by the master.
  • 25. Install GIT and GitHub plugin
  • 27. What does Maven do? • Maven describes how the software is built. • Maven describes the project’s dependencies.
  • 29. Configure Jenkins for a Maven -based project
  • 30. Create a Maven -based Jenkins project
  • 32. Maven pom.xml file • Describe the software project being built, including – The dependencies on other external modules. – The directory structures. – The required plugins. – The predefined targets for performing certain tasks such as compilation and packaging.
  • 33. Different Phases in Maven Build Lifecycle validate Validate the project is correct and all necessary information is available. compile Compile the source code of the project. test Test the compiled source code using a suitable unit testing framework. package Take the compiled code and package it in its distributable format. verify Run any checks on results of integration tests to ensure quality criteria are met. install Install the package into the local repository, for use as a dependency in other projects locally. deploy Copy the final package to the remote repository for sharing with other developers and projects.
  • 34. Maven Build Phases • These lifecycle phases are executed sequentially to complete the default lifecycle. • We want to specify the maven package command, this command would execute each default life cycle phase in order including validate, compile, test before executing package. • We only need to call the last build phase to be executed.
  • 35. Jenkins code quality metrics report
  • 36. Checkstyle is a code static analysis tool to help programmers to write Java code that adheres to a coding standard such as • Avoiding multiple blank lines; • Removing unused variables; • Enforcing correct indentations; • …
  • 37.
  • 38.
  • 39. Jenkins’ support for other build systems (Ant, Gradle and shell scripts)
  • 40. Apache Ant • Widely-used and very well-known build scripting language for Java. • Flexible, extensible, relatively low-level scripting language. • An Ant build script is made up of a number of targets, each target performs a particular job in the build process.
  • 41. Gradle • Gradle is a relatively new open source build tool for the Java Virtual Machine. • Build scripts for Gradle are written in a Domain Specific Language based on Groovy. • The concise nature of Groovy scripting lets you write very expressive build scripts with very little code.
  • 43. Gradle Build Script Ant Build Script Sample
  • 44. Install and configure Tomcat as a staging environment
  • 45. Tomcat Tomcat is an open-source web server and provides a "pure Java” HTTP web server environment in which Java code can run.
  • 46. • Install copy artifact and deploy to container plugins • Deploy our application to staging environment
  • 50. Continuous Delivery Deploy our app to production
  • 51. Benefits of a code-based pipeline • Version control • Best Practices • Less error-prone execution of jobs • Logic-based execution of steps
  • 53. Additional automation • Setup Git repository polling • Deployment to our tomcat servers • We will setup tasks to run in parallel
  • 54. Steps • Step 1: Configure securit groups for Tomcat servers and create key pairs. • Step 2: Provision instances to staging and production environments. • Step 3: Install and run Tomcat on created instances. • Step 4: Fully automate our existing Jenkins pipeline.
  • 55. Introduction to Distributed Jenkins Builds
  • 56. Install Jenkins Master in the Cloud
  • 58. Install Jenkins slaves in the cloud and form a Jenkins cluster
  • 59. Concurrent Builds on Jenkins Cluster Label Jenkins Nodes
  • 60. Build Orchestration: Jenkins _____________________________ • Continuous integration system • Enable automated build and test process • Can monitoring executions of externally‐run jobs, such as cron jobs and procmail jobs… • Dependency tracking, allowing file finger printing and tracking for example which build is using which version of jars… • Generates list of changes made to build from Subversion • Distributed build/test • Jenkins is a build orchestration, CI software • building/testing software projects continuously • monitoring executions of externally‐run jobs • FishEye allows you to extract information from your source code repository and display it in sophisticated reports. • Crucible allows you to request, perform and manage code reviews. • Subversion centralized version control system • Sonar is a quality management platform for analyzing and measuring source code quality.
  • 61. CI/CD Pipeline: Functional Architecture _______________________________________________ Version Control Version Control System Code Repository Artifact Repository (Artifactory) Build Management (Maven) Build Automation (Jenkins) Test Automation QA (SonarCube) Release Orchestration Deployment Automation Develop Pre-commit Tests 1 2 Commit code to Version Control System 3 CI polls VCS and creates Build 5 Automated Test Staging UAT SAT Security Scan Perf. & Load Testing 7 4 6 Release 8 Fail Fail Fail Not approved 9
  • 62. An Automated, Integrated and End to Ent CCRM _______________________________________________ Git, GitLab, GitHub Enteprise, SVN… Maven, Ant, Gradle Nexsus, Artifactory Jenkins… Junit, Test NG, Cucumber, Selenium, JMeter, SoapUI, LoadRunner… Release Management Source Code Management (Version Control) Build Automation CCRM Test Automation Environment Configuration Management CI/CD