Continuous integration @ Keylane



Similar documents
Continuous Integration

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Continuous Integration and Delivery at NSIDC

Database Build and Release will get started soon

Zero-Touch Drupal Deployment

Practical continuous deployment

SAS in clinical trials A relook at project management,

SOFTWARE DEVELOPMENT BASICS SED

Best Overall Use of Technology. Jaspersoft

Git Branching for Continuous Delivery

Installation Guide. Release Management for Visual Studio 2013

System Requirements for Microsoft Dynamics NAV 2015

Continuous Integration

System Requirements for Microsoft Dynamics NAV 2016

This document is provided to you by ABC E BUSINESS, Microsoft Dynamics Preferred partner. System Requirements NAV 2016

System Requirements for Microsoft Dynamics NAV 2016

Jenkins: The Definitive Guide

System Requirements for Microsoft Dynamics NAV 2016

TEST AUTOMATION FRAMEWORK

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

System Requirements for Microsoft Dynamics NAV 2013 R2

Effective Team Development Using Microsoft Visual Studio Team System

DevOps Course Content

Escaping the Works-On-My-Machine badge Continuous Integration with PDE Build and Git

SQL Server Training Course Content

ALERT installation setup

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

ROUNDTABLE TSMS 11.5 Installation Guide

Deliverable DS4.3.2: Report on Development Infrastructure Usage and Adoption

We ( have extensive experience in enterprise and system architectures, system engineering, project management, and

Upgrading Client Security and Policy Manager in 4 easy steps

Software configuration management

System Requirements. Microsoft Dynamics NAV 2016

System Requirements for Microsoft Dynamics NAV 2016

Improving database development. Recommendations for solving development problems using Red Gate tools

WHITEPAPER. Improving database development

Controlling the Linux ecognition GRID server v9 from a ecognition Developer client

Change Manager 5.0 Installation Guide

A central continuous integration platform

MARIST/IBM Joint Studies

PEPPERDATA IN MULTI-TENANT ENVIRONMENTS

DevOps. Building a Continuous Delivery Pipeline

Continuous Integration: A case study

Improving your Drupal Development workflow with Continuous Integration

Leveraging Rational Team Concert's build capabilities for Continuous Integration

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

Microsoft Dynamics CRM 2011 Guide to features and requirements

Software Scalability Issues in Large Clusters

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

Continuous Integration with Roundtable TSMS

CONTINUOUS INTEGRATION. Introduction

User Guide Release Management for Visual Studio 2013

Quark Publishing Platform 10.2 ReadMe

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

LabStats 5 System Requirements

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Best Practices for Implementing Autodesk Vault

Life Cycle Management for Oracle Data Integrator 11 & 12. At lower cost Get a 30% return on investment guaranteed and save 15% on development costs

Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software

SYSTEM SETUP FOR SPE PLATFORMS

Automating Business Processes Using SharePoint Designer

An Oracle White Paper November Upgrade Best Practices - Using the Oracle Upgrade Factory for Siebel Customer Relationship Management

Progress OpenEdge BPM

Version Control Your Jenkins Jobs with Jenkins Job Builder

Advanced Computing Tools for Applied Research Chapter 4. Version control

Software Delivery Integration and Source Code Management. for Suppliers

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

MOOSE-Based Application Development on GitLab

Pharos Control User Guide

OPENPROJECT. Setup Draft Notes. Draft Setup notes for Openproject

Vladimir Bakhov AT-Consulting +7 (905)

Achieving Rolling Updates & Continuous Deployment with Zero Downtime

Hardwarekrav. 30 MB. Memory: 1 GB. Additional software Microsoft.NET Framework 4.0.

CON5604 Upgrade from Siebel CRM 7.7 to 8.1 in Germany s Largest Loyalty Program Moscone West /01/14, 11:30-12:15

Version Control using Git and Github. Joseph Rivera

Quark Publishing Platform 10.1 ReadMe

Building a Dev/Test environment with HP CloudSystem Enterprise

BarTender Integration Methods. Integrating BarTender s Printing and Design Functionality with Your Custom Application WHITE PAPER

Out n About! for Outlook Electronic In/Out Status Board. Administrators Guide. Version 3.x

How To Manage Change In Jeepers

Quark Publishing Platform ReadMe

IKAN ALM Architecture. Closing the Gap Enterprise-wide Application Lifecycle Management

Mobile Testing, Agile Methodologies & You!

APPLICATION VIRTUALIZATION TECHNOLOGIES WHITEPAPER

System Requirements for Microsoft Dynamics NAV 2009 SP1

Automation Engine AE Server management

Transcription:

Continuous integration @ Keylane 1 Keylane Software for pension funds In the business since 2005 Working mostly on EU market 2 1

Teams Around 30 developers and project managers Divided in 10 teams Mostly using Scrum 3 Technical environment Legacy application written in TTY mode Modernization started using imo framework Heavily using OOABL (OpenEdge 11.x) ASP.Net introduced for the Web user-interface Development under PDS and Visual Studio 4 2

Technical environment Source code management using Accurev Atlassian Jira as a bug tracker Atlassian Confluence for documentation Developer Studio as the main development tool for OpenEdge 5 Existing continuous build process Custom procedures written internally to do the build Outside of source-code control Manually triggered at noon and 20:00 Checking out latest version from Accurev Executing a batch file located on the build server Build failures reported to all developers 6 3

Changes Dedicated build servers One Windows server One Linux server Lots of disk space 24 Gb memory Somewhat good CPU Plan for multiples builds in parallel 7 Changes Build environment Choice between Bamboo and Jenkins Winner was Bamboo Integration was clearly better Though less flexible License cost was not a problem 8 4

Bamboo 9 Bamboo 10 5

Bamboo 11 Bamboo 12 6

Changes Build script part of code repository Keep track of changes in the build Using Ant + PCT Open-source build tool Performance Keep track of full schema and rebuild local databases Minimize I/O or use RAM disk Run tasks in parallel 13 Accurev Nice source-code management system, but Expensive Hard to integrate with external tools Steep learning curve Looking for a new code repository 14 7

Moving to Git Atlassian Stash provides a very good integration with other tools Especially coming from Atlassian Existing Git knowledge in the company Very good branch support in Bamboo Smooth transition overall Don t underestimate training 15 Code reviews A good point of Stash is the ability to easily setup code reviews Workflow : Create a branch in Stash Commit changes in this branch Let Bamboo do the build and run automated tests Create the pull request to merge in the main branch A reviewer is assigned, who can validate, reject or comment the PR Once validated, code goes into the main branch 16 8

Automated deployment Multiple test environments available The outcome of the build is automatically deployed to one of the test environment Make sure appservers are correctly restarted, code is updated Work with templates in order to be able to easily generate a new environment based on a deployment config file Deployments are second-class citizens in Bamboo 17 Standard database updates Introduced conventions into the source code repository Full database schema is stored in Git Each update step is stored in Git DF file.p or.cls Standard data Dedicated update package generated during the build Consistency checks during the build 18 9

Databases are versioned Dedicated table for DB updates Each record contains an update step Upgrade package first reads this version number, and decide exactly which steps have to be executed 19 How was that written Has to be portable : Groovy calling Ant / PCT tasks Achieved in 300 lines of code (including comments and blank lines) Each step is applied sequentially CRC check executed at the end In OE 11.3+, new callback mechanism is available to intercept errors and warnings Don t forget hotfixes 20 10

Next big things Much better automated testing Currently only limited unit tests Use Docker : For development environment For test deployment PAS for easier test / prod deployment 21 Next big things 22 11

Keylane Maliebaan 50 3581 CS Utrecht The Netherlands T +31 (0)30 233 59 99 E info@keylane.com www.keylane.com 23 12