Continuous delivery chernivcy

Post on 10-May-2015

257 views 0 download

Tags:

description

How Continuous delivery may help develop more officient delivery process

transcript

Continuous Delivery

One click delivery at any time

Business Challenges

▪ Unable Deliver Software In Time▪ Double effort ▪ Cross team impact▪ Not all aspects are verified▪ Ability to deploy any time▪ Global versioning policy

General process

Build Deployment Acceptance Release Production

Parallel Development Strategies

▪ Release Branch▪ Maintenance Branch▪ Feature Branch▪ Team Branch

Parallel Development Strategy

Release Branch

▪ Pros–Minimum Overhead– Easy Release Maintenance (Boxed

Products)▪ Cons– Difficult keep stability when dev team is

big– Developers works on several branches at

the same timeParallel Development Strategy

Feature Development

▪ Pros– No Impact to Feature teams until merge– Ability postpone feature– Ability release not all features

▪ Cons– Higher overhead for merging–Merging issues on latest stages

Hybrid (Proposed Solution)

▪ Pros– Almost Stable “Main”– Easy Maintenance (SaaS)– No team impact (isolated) –More team responsibility

▪ Cons– Additional overhead for merging

Parallel Development Strategy

Feature Development Workflow

Development Repository

Feature A Repository

Feature X Repository

Repo is Created Developer Code Push

DeveloperCode Push

Code Review Code Integration

Feature Repo is Deleted

Repository Management Tool

Features▪ Repositories

management▪ Permission

management▪ Simple code review

Build

Build Deployment Acceptance Release Production

Dev Team

TC

Build Job

Unit Tests

Code Quality

Check-inSource Control System

Yes/

No

Fail

Promote StatusRC

ArtifactRepository

Deployment

QC

RCArtifact

Repository

FAT

Staging Production Performance

Unified deployment process to all environments

Environment Preparation

Artifact Deployment Configuration

Build Deployment Acceptance Release Production

Deployment Steps

Build Deployment Acceptance Release Production

ISV Vendor

BuildSource Control

Offshore Vendor

Repository

Repository

QC

Sources

1. Build2. Unit & smoke test3. Increment version4. Package

Artifacts

1. Application (war)2. Migration scripts

Artifacts

Installation1. DB Update2. App deployment

QC

Installation1. DB Update2. App deployment

Artifacts

Acceptance

▪ Smoke Function Automation Tests– Main user workflow based– Component Based

▪ Regression Functional Automation Tests– According to Impact

▪ Full Regression Functional Automation Tests– For critical release

▪ Manual Acceptance Testing– By product ownersBuild Deployment Acceptance Release Production

Acceptance 2

▪ Test Production DB Upgrade– Ensure no data related issues – Ensure that maintenance window is matched

▪ Test provisioning/unprovisioning procedure– Ensure that setup of new client is not

impacted▪ Performance Testing ▪ Operation Testing (DevOps)– Ensure system is monitored and controlled Build Deployment Acceptance Release Production

Release

AcceptanceDeployment

Build Deployment Acceptance Release Production

RCArtifact

Repository

ReleaseArtifact

Repository

Production

▪ One click at any time

Build Deployment Acceptance Release Production

Questions