continuous delivery chernivcy

17
Continuous Delivery One click delivery at any time

Upload: volodymyr-yelchev

Post on 10-May-2015

261 views

Category:

Technology


0 download

DESCRIPTION

How Continuous delivery may help develop more officient delivery process

TRANSCRIPT

Page 1: Continuous delivery chernivcy

Continuous Delivery

One click delivery at any time

Page 2: Continuous delivery chernivcy

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

Page 3: Continuous delivery chernivcy

General process

Build Deployment Acceptance Release Production

Page 4: Continuous delivery chernivcy

Parallel Development Strategies

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

Parallel Development Strategy

Page 5: Continuous delivery chernivcy

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

Page 6: Continuous delivery chernivcy

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

Page 7: Continuous delivery chernivcy

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

Page 8: Continuous delivery chernivcy

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

Page 9: Continuous delivery chernivcy

Repository Management Tool

Features▪ Repositories

management▪ Permission

management▪ Simple code review

Page 10: Continuous delivery chernivcy

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

Page 11: Continuous delivery chernivcy

Deployment

QC

RCArtifact

Repository

FAT

Staging Production Performance

Unified deployment process to all environments

Environment Preparation

Artifact Deployment Configuration

Build Deployment Acceptance Release Production

Page 12: Continuous delivery chernivcy

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

Page 13: Continuous delivery chernivcy

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

Page 14: Continuous delivery chernivcy

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

Page 15: Continuous delivery chernivcy

Release

AcceptanceDeployment

Build Deployment Acceptance Release Production

RCArtifact

Repository

ReleaseArtifact

Repository

Page 16: Continuous delivery chernivcy

Production

▪ One click at any time

Build Deployment Acceptance Release Production

Page 17: Continuous delivery chernivcy

Questions