Download presentation
Presentation is loading. Please wait.
Published byCarmella Henry Modified over 9 years ago
1
An Intro to ALM Using TFS and Visual Studio for Source Control, Build Automation, Continuous Integration, Deployments, and Task Management
2
What is ALM? Application Lifecycle Management
Another great Buzz Acronym for resumes Process and tools for design, development, testing, deployment and management of software projects. Creating software is more than just writing code Many of the concepts and implementations in this demo are easy and straightforward. Putting it all together in a complex environment is not.
3
Our Setup TFS On Premise. Running on my laptop. We’ll use TFS for:
Task Tracking Source Control CI – Continuous Integration Automated Deployments Not included: Automated Testing QA Integration Dev Ops More
4
Why is this important Task Tracking Source Control
Continuous Integration Automation
5
Don’t Wait This may be the most important slide in this section.
Don’t allow ALM to be an after thought… you’ll never have time later.
6
Set Up TFS Customize TFS to meet your needs Iterations Areas Teams
Create your own Work Item Types (Enhancement, Deliverable) Edit WIT add fields, defaults, lists, rules, etc. Tasks – Organize by feature, not by file
7
The Plan Create a new project Set up a CI Build
Then add a database and add that to the CI Build Setup a “Deploy” Build Creates a Deployment Package Deploys to QA Every build is a release candidate. No touch. Setup a process to deploy same package to Production (or UAT, etc)
8
Create a new Web Project
Here we go…
9
CI Build This build will “check our work”, compile, deploy to Integration Server Set Source Control Folder Build Defaults Copy to: \\asuslt\BuildOutput Agent Settings Create Work Item on Failure: False Don’t forget an original name for the builds - ANDY
10
Set up IIS (This is done already)
Install Web Deploy Create Site EndToEndIntegration (port 71) Create Site EndToEndQA (port 72) Create Site EndToEndProd (port 73)
11
Integration Publish Profile
Server: localhost SiteName: EndToEndIntegration DestinationUrl: localhost:71 Update Build with: /p:DeployOnBuild=true;PublishProfile=Integration
12
Set Up Publish Profiles and Transforms
SysTest.pubxml QA.pubxml <appSettings> <add xdt:Transform="Replace" value="Integration" key="Environment" xdt:Locator="Match(key)"/> </appSettings> Web.Integration.config Web.QA.config
13
DacPac Create Project (Databases already exist on server, for ease of demo) Create Dev Publish Profile Dev.publish.xml Publish Manually Create Integration Profile Integration.publish.xml /p:DeployOnBuild=true;PublishProfile=Integration;CreatePackageOnPublish=t rue /t:build /t:publish /p:SqlPublishProfilePath=Integration.publish.xml
14
Connection String Add Connection string for Dev:
<add name="EndToEnd" connectionString="Server=AsusLT;Database=EndToEndDev;User ID=ElmahManager;Password=elmah;Integrated Security=false;Trusted_Connection=false;" providerName="System.Data.SqlClient" /> Update Web.config Transform for Integration <connectionStrings> <add name="EndToEnd" connectionString="Server=AsusLT;Database=EndToEndIntegration;User ID=ElmahManager;Password=elmah;Integrated Security=false;Trusted_Connection=false;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> </connectionStrings>
15
Deploy Build Trigger: Manual
/p:DeployOnBuild=true;PublishProfile=QA;CreatePackageOnPublish=t rue /t:build /t:publish /p:SqlPublishProfilePath=QA.publish.xml
16
Getting to UAT and Prod I don’t have access to UAT and Prod Servers. Only Network Admins have access. parameters.xml setparameters.xml .bat file deployment Dacpac: can be scripted or run in SQL Management Studio
17
parameters.Xml <parameters> <parameter name= "Environment" description="Please provide an environment name" defaultValue="params default" tags=""> <parameterEntry kind="XmlFile" scope="web\.config$" " /> </parameter> </parameters>
18
Set Up Builds CI /p:DeployOnBuild=true;PublishProfile=Integration;CreatePackageOnPublish=true /t:build /t:publish /p:SqlPublishProfilePath=Integration.publish.xml Deploy /p:DeployOnBuild=true;PublishProfile=QA;CreatePackageOnPublish=true /t:build /t:publish /p:SqlPublishProfilePath=QA.publish.xml
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.