23
Continuous Delivery with VS2015 & TFS2015 Nguyễn Thanh Tùng

Continuous Delivery with VS2015 and TFS2015

Embed Size (px)

Citation preview

Page 1: Continuous Delivery with VS2015 and TFS2015

Continuous Delivery with VS2015 & TFS2015

Nguyễn Thanh Tùng

Page 2: Continuous Delivery with VS2015 and TFS2015

About me• Nguyen Thanh Tung• Technology Manager at MISA JSC• Microsoft Certified Professional Developer• Technologies:

• ASP.NET MVC/Web API• Windows UAP• Windows Forms• WCF/WPF/XAML/Silverlight• AngularJS/ExtJS/Ext.NET

• Community:• Blog at: http://tungnt.net• Facebook Page: https://www.facebook.com/tungnt185• Facebook Group: https://www.facebook.com/groups/hanoinetgroup/

Page 3: Continuous Delivery with VS2015 and TFS2015

Table of Contents•CI/CD Introduction• CI/CD Advantages• CI/CD Practices •CI/CD with VS2015&TFS2015•Continuos Inspection with SonarQube•QA

Page 4: Continuous Delivery with VS2015 and TFS2015

CI/CD Introduction

Page 5: Continuous Delivery with VS2015 and TFS2015

What is CI?•CI is a software development practice:• Members of a team integrate their

work frequently• Usually each person integrates at least

daily • Leading to multiple integrations per day

•Each integration is verified by• An automated build (including test)

to detect integration errors as quickly as possible.

•Source:http://martinfowler.com/articles/continuousIntegration.html

Page 6: Continuous Delivery with VS2015 and TFS2015

CI/CD Advantages• For development the benefit of CI/CD are:• Removed of manual copy/paste

deployment• Prevention and reduction of

production & staging errors• Generation of analysis & reporting on

the health of the code base• For operation the benefit of CI/CD are:• Reducing risk• Reducing cost across the development

& deployment process• Enhancing the reputation of the

company by providing Quality Assurance

Page 7: Continuous Delivery with VS2015 and TFS2015

CI/CD Advantages

Page 8: Continuous Delivery with VS2015 and TFS2015

CI Process

Page 9: Continuous Delivery with VS2015 and TFS2015

Build

Quality Management

Development

ContinuousIntegration

1 - Maintain a Single Source Repository4 - Everyone Commits To the Mainline Every Day5 - Every Commit Should Build the Mainline on an Integration Machine

2 - Automate the Build3 - Make Your Build Self-Testing6 - Fix Broken Builds Immediately7 - Keep the Build Fast8 - Test in a Clone of the Production Environment9 - Make it Easy for Anyone to Get the Latest Executable

10 - Everyone can see what’s happening

(Source: http://www.martinfowler.com/articles/continuousIntegration.html)

CI/CD Practices

Page 10: Continuous Delivery with VS2015 and TFS2015

CI/CD to DevOps

• DevOps practices:• Communication• Collaboration• Automation• Monitoring

Page 11: Continuous Delivery with VS2015 and TFS2015

CI/CD with VS2015 & TFS2015

Page 12: Continuous Delivery with VS2015 and TFS2015

TFS + Visual Studio Online

Page 13: Continuous Delivery with VS2015 and TFS2015

TFS Build Architecture• Build Agent:• Perform actual work• Can installed on any

machine support TFS• Installed as Windows

Service• Build Pool• Contains agents• Defined on server• Have own security

permissions• Build Queue• Defined at project

collection level• Group build definitions

to specific pool

Page 14: Continuous Delivery with VS2015 and TFS2015

CI/CD with TFS2015

Configure Build Agent

Create Build Definition

Configure CI/CD

Page 15: Continuous Delivery with VS2015 and TFS2015

Build Agent

• VSO support one build at a time• < 30 minutes run• < 10 GB storage• 240 minutes/month

Page 16: Continuous Delivery with VS2015 and TFS2015

Build Definition

Page 17: Continuous Delivery with VS2015 and TFS2015

Configure CI/CD

Page 18: Continuous Delivery with VS2015 and TFS2015

CI/CD run with real-time status

Page 19: Continuous Delivery with VS2015 and TFS2015

Qualities management with SonarQube

Page 20: Continuous Delivery with VS2015 and TFS2015

Using FxCop Code Analysis

/p:RunCodeAnalysis=True /p:CodeAnalysisRuleSet=AllRules.ruleset

Page 21: Continuous Delivery with VS2015 and TFS2015

SonarQube

• Sonarqube is an open source quality management platform, dedicated to continuous analyze and measure source code quality => continuous inspection

• http://www.sonarqube.org/

Page 22: Continuous Delivery with VS2015 and TFS2015

SonarQube

Page 23: Continuous Delivery with VS2015 and TFS2015

Thanks for your listening!

Q&A?