continuos integration patterns

24
VIKAS GUPTA Continuos Integration Patterns

Upload: vikas-gupta

Post on 14-Jun-2015

1.952 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Continuos integration patterns

VIKAS GUPTA

Continuos Integration Patterns

Page 2: Continuos integration patterns

Continuous Integration

Process of building software with every change committed to a project’s version control repository

Page 3: Continuos integration patterns

Build Patterns

Page 4: Continuos integration patterns

Common Build Patterns

Automated BuildBinary IntegrityDependency ManagementConsistent DirectoriesStaged Builds

Page 5: Continuos integration patterns

Private Build

Perform a private build prior to committing changes the repository

Page 6: Continuos integration patterns

Private Build

Perform a private build prior to committing changes the repository

Page 7: Continuos integration patterns

Integration Build

Periodically run the integration build WOMM

Page 8: Continuos integration patterns

Continuous Feedback

Send automatic feedback from CI server to development team

Prevent spam

Page 9: Continuos integration patterns

Expeditious Fixes

Fix build errors as soon as they comeIf the build is failing, don’t update

Page 10: Continuos integration patterns

Developer Documentation

Generate documentation from build

Page 11: Continuos integration patterns

Build Configuration Patterns

Page 12: Continuos integration patterns

Independent build

Separate build from IDEBuild should run from command line

Page 13: Continuos integration patterns

Single Command

All build and deployment should be run from single command

Should not need multiple commands to deploy

Page 14: Continuos integration patterns

Dedicated Machine

Separate Machine for buildsWOMM

Page 15: Continuos integration patterns

Externalize Configuration

Use build-time properties

Page 16: Continuos integration patterns

Database

Page 17: Continuos integration patterns

Externalize Configuration

Script all database actionsLate and manual migration is painfulAdd database configuration scripts to SCM

tool

Page 18: Continuos integration patterns

Database Sandbox

Create a lightweight version of your databaseUse lightweight database on developer

machinesDon’t use shared database for development

Page 19: Continuos integration patterns

Database Upgrade

Use scripts to upgrade the database in each environment

Don’t manually apply changes in each target environment

Page 20: Continuos integration patterns

Testing and Code Quality

Page 21: Continuos integration patterns

Database Upgrade

Automated TestsCategorize TestsContinuous InspectionBuild threshold

Page 22: Continuos integration patterns

Deployment

Page 23: Continuos integration patterns

Deployment Patterns

Scripted DeploymentHeadless ExecutionUnified DeploymentDisposable ContainerEnvironment rollback

Page 24: Continuos integration patterns

Thanks