Continuous Integration: a real win-win for developers

Preview:

Citation preview

Davide BenvegnùMicrosoft MVP Visual Studio ALM

CI: a real win-win for developersaka

CI and CD in the Enterprise

Scenario

Davide Benvegnù• Director & CTO – DBTek Ltd• Former International Development Manager – Aruba.it

• Microsoft MVP in Visual Studio ALM• Speaker• Trainer

• 14+ years experience in IT• 11+ years experience in ALM/ DevOps

@davidebenvegnu – www.dbtek.com.hk – davide@dbtek.com.hk

@bout Me

• CI and CD: what and how?• Visual Studio Team Services• Demo: GitHub• Demo: CI + CD (slot swap)• Demo: CI + CD (multilayer)

Agenda

Continuous Integration and

Continuous Deployment

Every* check-in starts a build operation

It’s the starting point of a release pipeline

Best way to check the code integration

Validation of the changes

Continuous Integration

After the build succeeds, automated deploy

Use deployment templates to deploy your projects to on premises, hybrid, or cloud

Can deploy to single environment or to multiple environments (dev, int, test, preprod, prod…)

Continuous Deployment

Delivery team Version control Build & unit test

Automated acceptance test

User acceptance tests

Release

Check-in Trigger

Feedback

TriggerFeedback

Approval Approval

Continuous delivery process

Check-in Trigger

Feedback

Continuous integrationDelivery team Version control Build & unit

testAutomated acceptance test

User acceptance tests

Release

TriggerFeedback

Approval Approval

Continuous deployment

Check-in Trigger

Feedback

Delivery team Version control Build & unit test

Automated acceptance test

User acceptance tests

Release

TriggerFeedback

Approval Approval

Manual Builds and Deploy

Client Workstations

Source Build

Test

Deploy Monitor and Learn

TFVC

GITcspkg

Environments

OPS

DEV

OPS

cspkg

EnvironmentsDev/Test

Integration

Pre-Production

Production

Continuous Integration and Deployment

Client Workstations

Source Build

Test

Deploy Monitor and Learn

TFVC

GITcspkg

OPS

DEV

cspkg

cspkg

cspkg

cspkg

• Different environments (dev, qa, uat, preprod, prod)

• Using slots for deployment• Spin-up new environments on demand

• Deploy multi-tier applications and dependencies

• Apply database changes

Real world deployments

Why VSTS and TFS

Complete suiteSource Control, Agile planning, Test management,Build, Release Management

Integrated EnvironmentLink code, work items, tests, build and releases

Enterprise readinessSecurity, SLA, ISO, pools and queue management

Why VSTS / TFS

Hosted build / release agents *No installation required

Multi-platformBuild natively on Windows, Mac, and LinuxBuild .Net, Java, Objective-C, Javascript..

Release ManagementDeploy to a multi-environment release pipelineUse existing release and approval flows

* Available only on VSTS

CI and CD in VSTS / TFS

DEMO

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Recommended