Upload
tung-nguyen-thanh
View
329
Download
2
Embed Size (px)
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?