continuous delivery chernivcy
DESCRIPTION
How Continuous delivery may help develop more officient delivery processTRANSCRIPT
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