continuous integration - oracle database objects

19
Oracle Database Objects Continuous Integration

Upload: prabhu-ramasamy

Post on 17-Jul-2015

222 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Continuous Integration - Oracle Database Objects

Oracle Database Objects

Continuous Integration

Page 2: Continuous Integration - Oracle Database Objects

▪ Working Methods

▪ Change Pain Risks

▪ Continuous Integration

▪ The Big Picture

▪ The Toolbox

▪ Demonstration Feedback

Agenda

Page 3: Continuous Integration - Oracle Database Objects

Working Method

Incremental Design

Development

TestingDeployment

Delivery

Page 4: Continuous Integration - Oracle Database Objects

Change is Permanent

Incremental Design

Development

TestingDeployment

Delivery

Requirement Changes

Distributed Team

Manual Test Executions

Integration

Request for Re-Deployment

Page 5: Continuous Integration - Oracle Database Objects

Change Pain

Reiteration Redeployment Revalidation

Page 6: Continuous Integration - Oracle Database Objects

Pain Risks

EffortTime to Deliver

Cost

Page 7: Continuous Integration - Oracle Database Objects

Continuous Integration

Build and deliver software more rapidly by eliminating pain points

“Continuous Integration doesn’t get rid of bugs, but it does make them easier to find and remove” – Martin Fowler, Chief Scientist, ThoughtWorks

Page 8: Continuous Integration - Oracle Database Objects

Continuous Integration

Integrate at least Daily

Continuous Integration (CI) is a development practice Each Check-in is verified by an automated build Integrating regularly helps to detect errors quickly

Reduces Issues with Distributed Team Environment Reduces Integration Issues

Page 9: Continuous Integration - Oracle Database Objects

Continuous Integration

Solve Problems Quickly

No more long waiting period for results Increase visibility which enables greater communication Spend less time debugging and more time adding features Proceed in the confidence you’re building on a solid foundation Stop waiting to find out if your code’s going to work

Reduces Time/Effort consumption by Manual Test ExecutionsReduces Time/Effort involved in Redeployment

Page 10: Continuous Integration - Oracle Database Objects

Continuous Integration

Principles and Practices

The PracticesHow to do it ?

Maintain a single source repository Automate the build Make your build self-testing Every commit should build on an integration machine Test in a clone of the production environment Make it easy for anyone to get the latest executable Everyone can see what’s happening Automate deployment

Page 11: Continuous Integration - Oracle Database Objects

Overview

Commit Code

Version ControlCI Server

Feedback Mechanism

Feedback Mechanism

Development Team

The Big Picture

Page 12: Continuous Integration - Oracle Database Objects

POLL ANALYZE

RESULTS

RESULTS

CI ServerVersion Control

Feedback Mechanism

Feedback Mechanism

Co

mm

it Ch

ange

s

Co

mm

it C

han

ges

BUILD SUCCESS

BUILD TEST DEPLOY

The Big Picture

BUILD FAILURE

Page 13: Continuous Integration - Oracle Database Objects

CI Server Build & Deploy

Code Version Control

Unit Test Framework

Code Quality

The Toolbox

Page 14: Continuous Integration - Oracle Database Objects

Why Jenkins?

Led by Developers for Developers Governance and Community Stability Primary platform for Plug-ins Cloud-Enabled

Jenkins, a continuous build tool, enables teams to focus on their work by automating the build, artifact management and deployment process

Page 15: Continuous Integration - Oracle Database Objects

Maven helps a developer to comprehend the complete state of a development effort in the shortest period of time

Why Maven?

Making the build process easy Providing a uniform build system Controls the entire Build, Test & Deployment phase of CI Setup Change Log Documents Unit Test Reports Keep your test source code separate Easy ways to update Easy way to install new plugins

Page 16: Continuous Integration - Oracle Database Objects

Four Steps for using UTPLSQL Install UTPLSQL Identify the test cases for a program Build a Test Package Run your test

Why utPLSQL?utPLSQL is a unit testing framework for programmers using Oracle's PL/SQL language and allows the automated testing of packages, functions and procedures

Page 17: Continuous Integration - Oracle Database Objects

CommentsStandards

Design Complexity

BugsCoverage

Duplication

Why SonarQube Code Analysers Reporting Tools Defect Hunting Modules Time Machine Extended Functionality by Plug-in(s)

“One-Shop-Stop for Source Code Quality Management”

Page 18: Continuous Integration - Oracle Database Objects

Continuous Integration [HUDSON] Automated Polling [HUDSON SVN] Automated Build [HUDSON SVN MAVEN] Automated Test [HUDSON SVN MAVEN UTPLSQL] Automated Code Analysis [HUDSON SVN MAVEN UTPLSQL SONAR]

DemonstrationJENKINS SVN MAVEN UTPLSQL SONAR

Summary

Page 19: Continuous Integration - Oracle Database Objects

Prabhu Ramasamy [email protected]