Version Control for PL/SQL

Slides:



Advertisements
Similar presentations
Usage of the memoQ web service API by LSP – a case study
Advertisements

Integrated Development Environments, Source Control Repositories, Automated Testing Tools, Bug Tracking, Code Analysis Tools, Build Tools, Project Hosting.
Teradata to Oracle SQLWays – DDL/Schema, Views, Macros, Procedures, BTEQ, Applications Migration Copyright (c) Ispirer Systems.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Low level CASE: Source Code Management. Source Code Management  Also known as Configuration Management  Source Code Managers are tools that: –Archive.
Migration Director Engineered for Change.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
Improving Software Quality with Continuous Integration
Continuous Integration for Databases Learn how to automate your build and test Steve Jones Red Gate Software Part II of the Continuous Delivery for Databases.
Oracle Developer Tools for Visual Studio.NET Christian Shay Principal Product Manager Oracle Corporation Prerequisites for presentation:
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
Automating Drupal Deployment Dominique De Cooman.
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
DevOps Jesse Pai Robert Monical 8/14/2015. Agile Software Development 8/14/2015© 2015 SGT Inc.2.
Admin Tool June 11, Admin Tool Overview Architecture Implementation Dependencies Futures 2.
Development Strategies for Web Applications Jonathan Babbage National Superconducting Cyclotron Laboratory.
XML in Development of Distributed Systems Tooling Programming Runtime.
XBRL Tools Roadmap - Interstage XWand - Toshimitsu SUZUKI FUJITSU LIMITED.
Branching. Version Control - Branching A way to write code without affecting the rest of your team Merge branches to integrate your changes.
Wordpress with Mina Automated Deployment Solution Jonathan Gravato DIG 4104c.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
Directions EMEA Community for Dynamics NAV partners.
Version Control and SVN ECE 297. Why Do We Need Version Control?
Continuous Deployments using SSDT
Slide 1. What's New in NetBeans IDE 7.1 Name Title.
Others Talk, We Listen. Managing Database Projects in Visual Studio 2013.
Tools and technology usage in PFMS application lifecycle management process LEPL Financial-Analytical Service, Ministry of Finance October, 2015 Dimitri.
Automated Build and Test
Christian Shay Principal Product Manager
Bringing DevOps to the Database
Bringing DevOps to the Database
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Stress Free Deployments with Octopus Deploy
Continuous Deployment
SQL Server deployments
Shared Services with Spotfire
Introduction to Visual Basic 2008 Programming
Business Connectivity Services in SharePoint 2010 and Office 2010
Branching Strategy.
Change Deployment in ServiceN w
Introduction to Team Foundation Server 2010
Bringing DevOps to the Database
Continuous Integration For Databases
YeahMobi CD Practice based on Container -- openstack meetup
Branching and Merging Practices
Automated Testing and Integration with CI Tool
Bringing DevOps to the Database
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Delivering Business Value Faster
Your code is not just…your code
Presented by : Chirag Dani & Dhaval Shah
VIRBank Kristina Naudžiūnaitė Rita Birgelytė
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
From Development to Production: Optimizing for Continuous Delivery
DEVOPS & THE FUTURE OF TESTING
Hop Aboard the Git Train – Transitioning from TFVC
Node.js Test Automation using Oracle Developer Cloud- Simplified
Branches And Releases Branch for Urgent Bug Branch for Feature A
David Cleverly – Development Lead
Office 365 Development July 2014.
DBOS DecisionBrain Optimization Server
Erik Vollebekk Application Architect
Adopting a Compliant Database DevOps Process
Adopting a Compliant Database DevOps Process
Your code is not just…your code
Demo for Partners and Customers
Samir Behara, Senior Developer, EBSCO
Thanks to our Sponsors Platinum Sponsor: Gold Sponsors:
Presentation transcript:

Version Control for PL/SQL

About the Company What is the problem? How did we solve it? Demo!! Implementation Strategies

yalim.gerger@gerger.co About Gerger Formspider Gitora We help Oracle Database customers catch up to modern technology. Formspider Application development framework for Oracle PL/SQL developers. First Class Web and Mobile Applications with only PL/SQL as the programming language. www.theformspider.com Gitora Tool to manage your PL/SQL code base with Git. www.gitora.com Hundreds of customers in 30+ countries. Offices in California, St. Louis in US and Istanbul in Europe. yalim.gerger@gerger.co

(Formerly ING Insurance). Turkish Telco. Argentina. Government of Rio Negro. Forms Modernisation. Germany US. Global manufacturer of equipment used in product assembly US Fortune 5 Company Netherlands United Kingdom

Azerbaijan. Core Banking Italy Lithuania Russia. Metkombank Germany Greece Italy Czech Republic .Logistics ERP Germany Russia Peru. Financial Systems

Version Control is a difficult topic to talk about in the PL/SQL Community. Common version control tools are not available to PL/SQL developers. Every team created its own “system” that sort of kind of works until it doesn’t. Version Control of PL/SQL is confused with version control of tables.

We can’t deploy as fast as other developers. We can’t work together like other developer do. We loose code more often. We can’t respond to changes in business as quickly as other developers. We can’t work as productively as other developers. It is harder for us to test our code automatically. Moving code is more error prone.

Enforce version control in the database. Lock PL/SQL objects in the database. (and still continue using your favourite PL/SQL editor.) Commit changes to PL/SQL objects to Git. Move your changes between databases automatically. Apply common version control commands such as merge, branch, reset to the code in the database. (The PL/SQL in the DB changes automatically.) Manage packages, functions, procedures, views, triggers, synonyms and object types in Git.

Customer Spotlight http://michielarentsen.blogspot.com/ Success Story: Rhenus Logistics, leading logistics service company from Germany, uses our solution. Manages over 20,000 database objects Database objects are spread over 30+ schemas System Architect/Team Lead Michiel Arentsen blogs about our solution at: http://michielarentsen.blogspot.com/

DEV Traditional PL/SQL Development Queued access Manual deployment or any other version control system 1..n database servers DEV RELEASE TEST INTEGRATION QA USER ACCEPTANCE PREPROD PROD Queued access Manual deployment Version control repo is a last resort back up Blocking Intermingled projects, features, hot fixes No automated testing Interrupting Practically impossible to branch, merge Developers are expected to follow version management rules manually.

We are missing a Git - Oracle bridge!!! How does it work? We are missing a Git - Oracle bridge!!! Edit PL/SQL Objects as usual in your favorite editor. Log in to your own bridge in the editor (can be done automatically in most cases). Use bridge API’s or bridge GUI to perform version control tasks. A database trigger listens to DDL events. Version control commands update the database. Bridge consists of a DB schema and some Java. Only executes what’s changes in the DB. (Very fast!)

Demo!!!!

DEV1 DEV2 PREPROD Demo Setup (One Repository) Person responsible of releases (manages all code in all Database Instances) DEV1 DEV2 PREPROD This can be any intermediate server between PROD and DEV

DEV Traditional PL/SQL Development Queued access Manual deployment or any other version control system 1..n database servers DEV RELEASE TEST INTEGRATION QA USER ACCEPTANCE PREPROD PROD Queued access Manual deployment Version control repo is a last resort back up Blocking Intermingled projects, features, hot fixes No automated testing Interrupting Practically impossible to branch, merge Developers are expected to follow version management rules manually.

DEV PL/SQL Development with Gitora Step 1 (One Repository) Person responsible for releases (manages all code in all Database Instances) Development on DEV only. On some other DB’s bug fixes may be allowed. Automatic Script Generation with Gitora RELEASE TEST INTEGRATION QA DEV USER ACCEPTANCE HOTFIX PREPROD PROD Queued access Automatic deployment Source code is in Gitora Blocking Intermingled projects, features Faster hot fixes Better automatic testing Interrupting Basic branching and merging is possible for hot fixes Version control rules are enforced at the DB level and managed by a release manager.

DEV1 DEV2 PL/SQL Development Step 2 with Gitora (One Repository) Person responsible of releases (manages all code in all Database Instances) Development on DEV only. On some other DB’s bug fixes may be allowed. Automatic DDL Script Generation with Gitora N DEV servers DEV1, DEV2, DEV3,…DEVN RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD PROD DEV1 DEV2 Fewer Queues Automatic deployment Source code is in Gitora Less Blocking Less intermingled projects, features Hot fixes delivered faster Less interruption Basic branching and merging is possible Better automatic testing Version control rules are enforced at the DB level and managed by a release manager.

PL/SQL Development Step 3 with Gitora: Implement Any Git Workflow (One Repository) Person responsible of releases (manages all code in all Database Instances) Every developer works in a private environment. Each private environment can be switched to a branch. Automatic DDL Script Generation with Gitora RELEASE TEST INTEGRATION QA RELEASE TEST HOTFIX INTEGRATION QA USER ACCEPTANCE PREPROD PROD Project Server [1..N] No Queues Automatic deployment Source code is in Gitora No Blocking No blocking between projects, features Faster hot fixes No Interruptions Branching and merging is possible Great automated testing Version control rules are enforced at the DB level and managed by a release manager.

DEV1 DEV2 PREPROD Demo Setup (One Repository) Better automatic testing Person responsible of releases (manages all code in all Database Instances) DEV1 DEV2 PREPROD This can be any intermediate server between PROD and DEV Fewer Queues Automatic deployment Source code is in Gitora Less Blocking Less intermingled projects, features Hot fixes delivered faster Less interruption Basic branching and merging is possible Better automatic testing Version control rules are enforced at the DB level and managed by a release manager.

You can choose a workflow that fits your organization best. Centralised Workflow Feature Branch Workflow Gitflow Workflow

Thank You!!!! yalim.gerger@gerger.co