Continuous Delivery with VS2015 and TFS2015

Preview:

Citation preview

Continuous Delivery with VS2015 & TFS2015

Nguyễn Thanh Tùng

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/

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

CI/CD Introduction

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

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

CI/CD Advantages

CI Process

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

CI/CD to DevOps

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

CI/CD with VS2015 & TFS2015

TFS + Visual Studio Online

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

CI/CD with TFS2015

Configure Build Agent

Create Build Definition

Configure CI/CD

Build Agent

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

Build Definition

Configure CI/CD

CI/CD run with real-time status

Qualities management with SonarQube

Using FxCop Code Analysis

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

SonarQube

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

• http://www.sonarqube.org/

SonarQube

Thanks for your listening!

Q&A?

Recommended