SlideShare una empresa de Scribd logo
1 de 29
Sonar Jenkins HandsOn
Mak Bhatamrekar
http://github.com/makrand-bkar
AJCP
http://meetup.com/my-ajcp
Atlanta Java Concept Pros
Agenda
• Amazon EC2 & Cloud
• Jenkins
• Sonar
• Tomcat Integration
• Recap
EC2 Launch Steps
EC2 Launch Steps
1. Signup For EC2 http://aws.amazon.com/ec2
2. Signup for Console aws.amazon.com/console
3. Select Launch Instance
4. Select Image
5. Create / Select KeyPair
6. Create / Select Security Group
7. Launch
AWS Console - Select Instance
https://portal.aws.amazon.com/gp/aws/user/subscription/index.html?ie=UTF8&offeri
ngCode=E4F8A8DE (Need to Register on this URL First to Use It)
Download KP and Click Continue
Create Security Group
1) From the menu option “Conversions”, select
“Import key”
2) In the dialog, locate PEM file and “Open” it.
3) Change the comment from ‘imported-openssh-
key” to a something more descriptive
4) Optional: Enter a passphrase.
5) Create PPK file by clicking on “Save private key”
• Open Putty
• Add the “ppk key” in Connections->SSH->Auth
Section
• Session->Enter (Host0Name) / IP Address
• Login in as ec2-user
Sonar Jenkins SVN Instance
https://portal.aws.amazon.com/gp/aws/user/subscription/index.html?ie=UTF8&offeringCode=E4F8A8DE
Port/URL Description credentials
root user -> ec2-user ec2-user is the root user name Use ppk key
:22 Login using SSH Client like Putty. Use PEM Key
:80 Apache Server Test Page
:80/svnmanager
:80/svn/svnrepo
SVN Server admin/p@$$
w0rd
:8080/sonar Sonar on Tomcat Server admin/admi
n
:8181/spring-mvc-showcase/
:8080 Jenkins Server No
credentials
:3306 MySQL Server, use MySQL Client /
SSH Client
root / tiger
:465 Gmail port
What Is Jenkins
• Continuous Integration
- Ant , Maven Builds
- Custom Builds
• Built In Java, Jenkins.war
• Plugin Echo System
• Strong Integration with
Other Tools like
– GIRA --SONAR
– Gerrit --Chat
• Used By – Like Netflix,
LinkedIn,GitHub etc
Some Jenkins Plugins To Have
Plugin Usage
SCM Plugins Source Control Plugins for SVN, P4 etc
JobHistory Plugin History of Changes in Configuration
DiskUsage Plugin Visualize the space , workspace, archived
builds takes.
BuildTimeOut Plugin Kill the Build after TimeOut
Parameterized Trigger Plugin To Pass parameters
Email –Ext Plugin To Format your Emails
• Use Plugins On Need Basis (Total 375 Plugins)
• https://wiki.jenkins-ci.org/display/JENKINS/Plugins
Jenkins Tips
• Do no have Monolithic Builds
– Use Master- Slave to distribute the jobs
– Split Jobs logically
• Jenkins Releases are Weekly
• Join Jenkins Community
• Coding Standards
• Potential Bugs
• Documentation / Comments
• Duplicated Code
• Complexity
• Test Coverage
• Design and Architecture – minimize
dependencies
• Squid (Core Analyzer)
– RFC (Response For Class)
– LCOM4 (Lack Of Cohesion Methods)
– DIT (Depth Of Inherentence Tree)
– NOC – Number Of Children
• CheckStyle (Adheres to Coding Standards)
• PMD (Project Mess Detector)
– Possible Bugs
– Dead Code
– SubOptimial Code
– Complex Expressions
• FindBugs (Static Analysis)
– Malicious Code / Vulnerabilities
• Cobertura & Clover
– Based on Jcoverage java lib
– %tage of Code Accessed by tests
– Calculates Cyclomatic Complexity
• FindBugs (Static Analysis)
– Malicious Code / Vulnerabilities
Introducing Sonar
• Coding Standards
• Potential Bugs
• Documentation
• Duplicated Code
• Complexity
• Test Coverage
• Design & Arch –
– Min Depend, Cohesion, Loose Coupling
• SQUID (Core Analyser)
– LCOM4 – Lack of Cohesion Methods
– DIT – Dependency Of Inheritence Tree
– NOC – No of Children
• CheckStyle
– Coding Standards
– Duplication,
– Memory Outage
• PMD (Project Mess Detector)
– Possible Bugs
– Dead Code
– Complex Expressions
• Find Bugs
– Static Analysis , Trace Bugs
• Cobertura & Clover
– Code Coverage
• OpenSource
• Quality Management Program.
• More Than 600 Code Rules have been
Integrated
• Helps Detect Minor to Critical Defects
• Drills Code Top to Bottom
Watch the Quality Of Code Over Time
• Eclipse Plugin
• PDF Reports
• Maven Ready
• Extensible Plugin System
References
• http://aws.typepad.com
• http://jenkins-ci.org/
• http://www.sonarsource.org/
• https://wiki.jenkins-
ci.org/display/JENKINS/Jenkins+Script+Consol
e
Sonar Jenkins HandsOn
Mak Bhatamrekar
github :http://github.com/makrand-bkar
twitter : mak-bkar
url : www.careerinjava.com
http://meetup.com/my-ajcp
Atlanta Java Concept Pros

Más contenido relacionado

La actualidad más candente

[123] quality without qa
[123] quality without qa[123] quality without qa
[123] quality without qaNAVER D2
 
Automated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSSAutomated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSSSonatype
 
[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearchNAVER D2
 
EASE spectre meltdown_support
EASE spectre meltdown_supportEASE spectre meltdown_support
EASE spectre meltdown_supportJoe Slowik
 
VB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkVB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkAmr Thabet
 
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...Eric Smalling
 
Node.js Security Done Right - Tips and Tricks They Won't Teach You In School
Node.js Security Done Right - Tips and Tricks They Won't Teach You In SchoolNode.js Security Done Right - Tips and Tricks They Won't Teach You In School
Node.js Security Done Right - Tips and Tricks They Won't Teach You In SchoolLiran Tal
 
ColdFusion for Penetration Testers
ColdFusion for Penetration TestersColdFusion for Penetration Testers
ColdFusion for Penetration TestersChris Gates
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenSonatype
 
Mitigating Exploits Using Apple's Endpoint Security
Mitigating Exploits Using Apple's Endpoint SecurityMitigating Exploits Using Apple's Endpoint Security
Mitigating Exploits Using Apple's Endpoint SecurityCsaba Fitzl
 
2014 ZAP Workshop 2: Contexts and Fuzzing
2014 ZAP Workshop 2: Contexts and Fuzzing2014 ZAP Workshop 2: Contexts and Fuzzing
2014 ZAP Workshop 2: Contexts and FuzzingSimon Bennetts
 
Selenoid: browsers in containers
Selenoid: browsers in containersSelenoid: browsers in containers
Selenoid: browsers in containersIvan Krutov
 
Syntribos API Security Test Automation
Syntribos API Security Test AutomationSyntribos API Security Test Automation
Syntribos API Security Test AutomationMatthew Valdes
 
Apache Struts2 CVE-2017-5638
Apache Struts2 CVE-2017-5638Apache Struts2 CVE-2017-5638
Apache Struts2 CVE-2017-5638Riyaz Walikar
 
Android Deobfuscation: Tools and Techniques
Android Deobfuscation: Tools and TechniquesAndroid Deobfuscation: Tools and Techniques
Android Deobfuscation: Tools and Techniquescaleb194331
 

La actualidad más candente (20)

[123] quality without qa
[123] quality without qa[123] quality without qa
[123] quality without qa
 
Automated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSSAutomated Infrastructure Security: Monitoring using FOSS
Automated Infrastructure Security: Monitoring using FOSS
 
Power shell v3 session1
Power shell v3   session1Power shell v3   session1
Power shell v3 session1
 
Oscp preparation
Oscp preparationOscp preparation
Oscp preparation
 
[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch[131] packetbeat과 elasticsearch
[131] packetbeat과 elasticsearch
 
EASE spectre meltdown_support
EASE spectre meltdown_supportEASE spectre meltdown_support
EASE spectre meltdown_support
 
VB2013 - Security Research and Development Framework
VB2013 - Security Research and Development FrameworkVB2013 - Security Research and Development Framework
VB2013 - Security Research and Development Framework
 
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...So. many. vulnerabilities. Why are containers such a mess and what to do abou...
So. many. vulnerabilities. Why are containers such a mess and what to do abou...
 
Node.js Security Done Right - Tips and Tricks They Won't Teach You In School
Node.js Security Done Right - Tips and Tricks They Won't Teach You In SchoolNode.js Security Done Right - Tips and Tricks They Won't Teach You In School
Node.js Security Done Right - Tips and Tricks They Won't Teach You In School
 
ColdFusion for Penetration Testers
ColdFusion for Penetration TestersColdFusion for Penetration Testers
ColdFusion for Penetration Testers
 
Prepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/GreenPrepare to defend thyself with Blue/Green
Prepare to defend thyself with Blue/Green
 
Ansible API
Ansible APIAnsible API
Ansible API
 
Mitigating Exploits Using Apple's Endpoint Security
Mitigating Exploits Using Apple's Endpoint SecurityMitigating Exploits Using Apple's Endpoint Security
Mitigating Exploits Using Apple's Endpoint Security
 
Anatomy of a Cloud Hack
Anatomy of a Cloud HackAnatomy of a Cloud Hack
Anatomy of a Cloud Hack
 
2014 ZAP Workshop 2: Contexts and Fuzzing
2014 ZAP Workshop 2: Contexts and Fuzzing2014 ZAP Workshop 2: Contexts and Fuzzing
2014 ZAP Workshop 2: Contexts and Fuzzing
 
Selenoid: browsers in containers
Selenoid: browsers in containersSelenoid: browsers in containers
Selenoid: browsers in containers
 
Syntribos API Security Test Automation
Syntribos API Security Test AutomationSyntribos API Security Test Automation
Syntribos API Security Test Automation
 
Apache Struts2 CVE-2017-5638
Apache Struts2 CVE-2017-5638Apache Struts2 CVE-2017-5638
Apache Struts2 CVE-2017-5638
 
Injection flaw teaser
Injection flaw teaserInjection flaw teaser
Injection flaw teaser
 
Android Deobfuscation: Tools and Techniques
Android Deobfuscation: Tools and TechniquesAndroid Deobfuscation: Tools and Techniques
Android Deobfuscation: Tools and Techniques
 

Similar a Sonarjenkins ajip

Proactive Security AppSec Case Study
Proactive Security AppSec Case StudyProactive Security AppSec Case Study
Proactive Security AppSec Case StudyAndy Hoernecke
 
Cloud infrastructure as code
Cloud infrastructure as codeCloud infrastructure as code
Cloud infrastructure as codeTomasz Cholewa
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Ryan Cuprak
 
Understanding container security
Understanding container securityUnderstanding container security
Understanding container securityJohn Kinsella
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous IntegrationGeff Henderson Chang
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)Amazon Web Services
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)Amazon Web Services
 
Code quality par Simone Civetta
Code quality par Simone CivettaCode quality par Simone Civetta
Code quality par Simone CivettaCocoaHeads France
 
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptxSANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptxJasonOstrom1
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...DataWorks Summit
 
20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at Tempus20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at TempusDevOps Chicago
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...NETWAYS
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Denim Group
 
Building machine learning applications locally with Spark — Joel Pinho Lucas ...
Building machine learning applications locally with Spark — Joel Pinho Lucas ...Building machine learning applications locally with Spark — Joel Pinho Lucas ...
Building machine learning applications locally with Spark — Joel Pinho Lucas ...PAPIs.io
 
Building machine learning applications locally with spark
Building machine learning applications locally with sparkBuilding machine learning applications locally with spark
Building machine learning applications locally with sparkJoel Pinho Lucas
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixPeter Nazarov
 
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo   j-fall 2010 - baris dereRapid application development with spring roo   j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dereBaris Dere
 

Similar a Sonarjenkins ajip (20)

Proactive Security AppSec Case Study
Proactive Security AppSec Case StudyProactive Security AppSec Case Study
Proactive Security AppSec Case Study
 
Cloud infrastructure as code
Cloud infrastructure as codeCloud infrastructure as code
Cloud infrastructure as code
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Understanding container security
Understanding container securityUnderstanding container security
Understanding container security
 
Securing Legacy CFML Code
Securing Legacy CFML CodeSecuring Legacy CFML Code
Securing Legacy CFML Code
 
Version Control and Continuous Integration
Version Control and Continuous IntegrationVersion Control and Continuous Integration
Version Control and Continuous Integration
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
 
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)AWS re:Invent 2016: Securing Container-Based Applications (CON402)
AWS re:Invent 2016: Securing Container-Based Applications (CON402)
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
Code quality par Simone Civetta
Code quality par Simone CivettaCode quality par Simone Civetta
Code quality par Simone Civetta
 
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptxSANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
SANS_PentestHackfest_2022-PurpleTeam_Cloud_Identity.pptx
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
 
20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at Tempus20170831 - Greg Palmier: Terraform & AWS at Tempus
20170831 - Greg Palmier: Terraform & AWS at Tempus
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
Threat Modeling the CI/CD Pipeline to Improve Software Supply Chain Security ...
 
Building machine learning applications locally with Spark — Joel Pinho Lucas ...
Building machine learning applications locally with Spark — Joel Pinho Lucas ...Building machine learning applications locally with Spark — Joel Pinho Lucas ...
Building machine learning applications locally with Spark — Joel Pinho Lucas ...
 
Building machine learning applications locally with spark
Building machine learning applications locally with sparkBuilding machine learning applications locally with spark
Building machine learning applications locally with spark
 
Sitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helixSitecore development approach evolution – destination helix
Sitecore development approach evolution – destination helix
 
Rapid application development with spring roo j-fall 2010 - baris dere
Rapid application development with spring roo   j-fall 2010 - baris dereRapid application development with spring roo   j-fall 2010 - baris dere
Rapid application development with spring roo j-fall 2010 - baris dere
 
Tech4Africa 2014
Tech4Africa 2014Tech4Africa 2014
Tech4Africa 2014
 

Más de Makarand Bhatambarekar

Más de Makarand Bhatambarekar (8)

Bootstrapping angular js with bower grunt yeoman
Bootstrapping angular js with bower grunt yeomanBootstrapping angular js with bower grunt yeoman
Bootstrapping angular js with bower grunt yeoman
 
Sprintintegration ajip
Sprintintegration ajipSprintintegration ajip
Sprintintegration ajip
 
Springaopdecoded ajip
Springaopdecoded ajipSpringaopdecoded ajip
Springaopdecoded ajip
 
Story ofcorespring infodeck
Story ofcorespring infodeckStory ofcorespring infodeck
Story ofcorespring infodeck
 
JavaScript JQUERY AJAX
JavaScript JQUERY AJAXJavaScript JQUERY AJAX
JavaScript JQUERY AJAX
 
Java scriptforjavadev part1
Java scriptforjavadev part1Java scriptforjavadev part1
Java scriptforjavadev part1
 
Java scriptforjavadev part2a
Java scriptforjavadev part2aJava scriptforjavadev part2a
Java scriptforjavadev part2a
 
Getting Started with J2EE, A Roadmap
Getting Started with J2EE, A RoadmapGetting Started with J2EE, A Roadmap
Getting Started with J2EE, A Roadmap
 

Sonarjenkins ajip

  • 1. Sonar Jenkins HandsOn Mak Bhatamrekar http://github.com/makrand-bkar AJCP http://meetup.com/my-ajcp Atlanta Java Concept Pros
  • 2. Agenda • Amazon EC2 & Cloud • Jenkins • Sonar • Tomcat Integration • Recap
  • 4. EC2 Launch Steps 1. Signup For EC2 http://aws.amazon.com/ec2 2. Signup for Console aws.amazon.com/console 3. Select Launch Instance 4. Select Image 5. Create / Select KeyPair 6. Create / Select Security Group 7. Launch
  • 5. AWS Console - Select Instance https://portal.aws.amazon.com/gp/aws/user/subscription/index.html?ie=UTF8&offeri ngCode=E4F8A8DE (Need to Register on this URL First to Use It)
  • 6. Download KP and Click Continue
  • 8.
  • 9. 1) From the menu option “Conversions”, select “Import key” 2) In the dialog, locate PEM file and “Open” it. 3) Change the comment from ‘imported-openssh- key” to a something more descriptive 4) Optional: Enter a passphrase. 5) Create PPK file by clicking on “Save private key”
  • 10. • Open Putty • Add the “ppk key” in Connections->SSH->Auth Section • Session->Enter (Host0Name) / IP Address • Login in as ec2-user
  • 11. Sonar Jenkins SVN Instance https://portal.aws.amazon.com/gp/aws/user/subscription/index.html?ie=UTF8&offeringCode=E4F8A8DE Port/URL Description credentials root user -> ec2-user ec2-user is the root user name Use ppk key :22 Login using SSH Client like Putty. Use PEM Key :80 Apache Server Test Page :80/svnmanager :80/svn/svnrepo SVN Server admin/p@$$ w0rd :8080/sonar Sonar on Tomcat Server admin/admi n :8181/spring-mvc-showcase/ :8080 Jenkins Server No credentials :3306 MySQL Server, use MySQL Client / SSH Client root / tiger :465 Gmail port
  • 12.
  • 13. What Is Jenkins • Continuous Integration - Ant , Maven Builds - Custom Builds • Built In Java, Jenkins.war • Plugin Echo System • Strong Integration with Other Tools like – GIRA --SONAR – Gerrit --Chat • Used By – Like Netflix, LinkedIn,GitHub etc
  • 14. Some Jenkins Plugins To Have Plugin Usage SCM Plugins Source Control Plugins for SVN, P4 etc JobHistory Plugin History of Changes in Configuration DiskUsage Plugin Visualize the space , workspace, archived builds takes. BuildTimeOut Plugin Kill the Build after TimeOut Parameterized Trigger Plugin To Pass parameters Email –Ext Plugin To Format your Emails • Use Plugins On Need Basis (Total 375 Plugins) • https://wiki.jenkins-ci.org/display/JENKINS/Plugins
  • 15. Jenkins Tips • Do no have Monolithic Builds – Use Master- Slave to distribute the jobs – Split Jobs logically • Jenkins Releases are Weekly • Join Jenkins Community
  • 16.
  • 17. • Coding Standards • Potential Bugs • Documentation / Comments • Duplicated Code • Complexity • Test Coverage • Design and Architecture – minimize dependencies
  • 18. • Squid (Core Analyzer) – RFC (Response For Class) – LCOM4 (Lack Of Cohesion Methods) – DIT (Depth Of Inherentence Tree) – NOC – Number Of Children • CheckStyle (Adheres to Coding Standards)
  • 19. • PMD (Project Mess Detector) – Possible Bugs – Dead Code – SubOptimial Code – Complex Expressions • FindBugs (Static Analysis) – Malicious Code / Vulnerabilities
  • 20. • Cobertura & Clover – Based on Jcoverage java lib – %tage of Code Accessed by tests – Calculates Cyclomatic Complexity • FindBugs (Static Analysis) – Malicious Code / Vulnerabilities
  • 22. • Coding Standards • Potential Bugs • Documentation • Duplicated Code • Complexity • Test Coverage • Design & Arch – – Min Depend, Cohesion, Loose Coupling
  • 23. • SQUID (Core Analyser) – LCOM4 – Lack of Cohesion Methods – DIT – Dependency Of Inheritence Tree – NOC – No of Children • CheckStyle – Coding Standards – Duplication, – Memory Outage
  • 24. • PMD (Project Mess Detector) – Possible Bugs – Dead Code – Complex Expressions • Find Bugs – Static Analysis , Trace Bugs • Cobertura & Clover – Code Coverage
  • 25.
  • 26. • OpenSource • Quality Management Program. • More Than 600 Code Rules have been Integrated • Helps Detect Minor to Critical Defects • Drills Code Top to Bottom Watch the Quality Of Code Over Time
  • 27. • Eclipse Plugin • PDF Reports • Maven Ready • Extensible Plugin System
  • 28. References • http://aws.typepad.com • http://jenkins-ci.org/ • http://www.sonarsource.org/ • https://wiki.jenkins- ci.org/display/JENKINS/Jenkins+Script+Consol e
  • 29. Sonar Jenkins HandsOn Mak Bhatamrekar github :http://github.com/makrand-bkar twitter : mak-bkar url : www.careerinjava.com http://meetup.com/my-ajcp Atlanta Java Concept Pros

Notas del editor

  1. Whats the Problem we are trying to solve