<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Team Service &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/tag/team-service/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Mon, 12 Oct 2026 08:58:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>Continuous Integration with Visual Studio Team Services and Azure App Service</title>
		<link>https://www.bestdevops.com/continuous-integration-using-visual-studio-team-service/</link>
					<comments>https://www.bestdevops.com/continuous-integration-using-visual-studio-team-service/#respond</comments>
		
		<dc:creator><![CDATA[anil]]></dc:creator>
		<pubDate>Mon, 17 Apr 2017 13:49:17 +0000</pubDate>
				<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[automatic build and release]]></category>
		<category><![CDATA[Deployment]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Team Service]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[VSTS]]></category>
		<guid isPermaLink="false">http://www.bestdevops.com/?p=1312</guid>

					<description><![CDATA[Learn how to configure a full CI/CD pipeline using Visual Studio Team Services (VSTS): create a Git repository, push an ASP.NET Web API project, set up automated builds, and release automatically to Azure App Service.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>This article is based on a guide originally published on <strong>C# Corner</strong>. It covers the end-to-end process of setting up Continuous Integration and Continuous Deployment (CI/CD) for an ASP.NET Web API application using Visual Studio Team Services (VSTS) and Azure App Service.</em></p>



<h2 class="wp-block-heading">Introduction</h2>



<p class="wp-block-paragraph">Visual Studio Team Services (VSTS) — now rebranded as Azure DevOps — lets you configure a project so that every code commit automatically triggers a build and, on success, deploys the updated application to Azure App Service. This guide walks through that complete setup for an ASP.NET Web API application, from creating a Git repository in VSTS through to verifying a live deployment in Azure.</p>



<h2 class="wp-block-heading">Prerequisites</h2>



<ul class="wp-block-list"><li>Visual Studio 2015 or later (Visual Studio 2017 used in this example)</li><li>An active Azure subscription</li><li>A Visual Studio Team Services (VSTS) account</li><li>An existing ASP.NET Web API project on your local machine</li></ul>



<h2 class="wp-block-heading">Overview of Steps</h2>



<ol class="wp-block-list"><li>Create a new project in VSTS with Git version control</li><li>Push an existing local project to the new Git repository from Visual Studio</li><li>Configure a Build Definition in VSTS with Continuous Integration enabled</li><li>Create an Azure Web App as the deployment target</li><li>Configure a Release Definition in VSTS with Continuous Deployment to Azure App Service</li><li>Commit a change and verify the automated build and deployment</li></ol>



<h2 class="wp-block-heading">Step 1: Create a New Project in VSTS with Git Version Control</h2>



<p class="wp-block-paragraph">Sign in to your VSTS account and click <strong>New Project</strong> on the home page.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image001.JPG" alt="VSTS home page showing the New Project button"/></figure>



<p class="wp-block-paragraph">In the <strong>Create new project</strong> dialog:</p>



<ul class="wp-block-list"><li>Enter a <strong>project name</strong> (e.g., <em>KendoGrid</em>)</li><li>Set <strong>Version control</strong> to <em>Git</em></li><li>Choose a <strong>Work item process</strong> (e.g., Agile)</li><li>Click <strong>Create</strong></li></ul>



<p class="wp-block-paragraph">You can use either Git or Team Foundation Version Control (TFVC). Git is the recommended choice for most modern workflows due to its distributed nature and broad tooling support.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image002.JPG" alt="New project creation dialog in VSTS with Git version control selected"/></figure>



<h2 class="wp-block-heading">Step 2: Push an Existing Project to the VSTS Git Repository</h2>



<p class="wp-block-paragraph">Open your existing ASP.NET Web API project in Visual Studio (<strong>File &gt; Open</strong>). Once the project is loaded, look at the bottom-right status bar for the <strong>Add to Source Control</strong> option and click it.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image003.JPG" alt="Visual Studio status bar showing the Add to Source Control option"/></figure>



<p class="wp-block-paragraph">The <strong>Team Explorer</strong> window opens and presents two options:</p>



<ul class="wp-block-list"><li><strong>Push to Visual Studio Team Services</strong> — creates a new repository on your VSTS account automatically</li><li><strong>Push to Remote Repository</strong> — connects to the Git repository you already created in Step 1</li></ul>



<p class="wp-block-paragraph">Because you already created the repository in VSTS, choose <strong>Push to Remote Repository</strong>.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image004.JPG" alt="Team Explorer showing push options"/></figure>



<p class="wp-block-paragraph">Click <strong>Publish Git Repo</strong>, paste the remote Git URL from your VSTS project, and click <strong>Publish</strong>.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image005.JPG" alt="Publish Git Repo dialog in Team Explorer"/></figure>



<p class="wp-block-paragraph">After a successful push, you can browse to the <strong>Code</strong> tab of your VSTS project to confirm that all files are present in the repository.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image006.JPG" alt="VSTS Code tab showing the published project files"/></figure>



<h2 class="wp-block-heading">Step 3: Configure a Build Definition in VSTS</h2>



<p class="wp-block-paragraph">From the repository page in VSTS, click <strong>Set up build</strong> in the top-right corner.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image007.JPG" alt="VSTS repository page with Set up build button highlighted"/></figure>



<p class="wp-block-paragraph">The <strong>Create new build definition</strong> wizard opens. Select the <strong>ASP.NET (Preview)</strong> template, which pre-populates the build steps appropriate for an ASP.NET project (NuGet restore, build, test, publish).</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image008.JPG" alt="Create new build definition window"/></figure>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image009.JPG" alt="Build template selection showing ASP.NET Preview template"/></figure>



<p class="wp-block-paragraph">On the settings screen, check <strong>Continuous Integration</strong>. This tells VSTS to trigger a build automatically on every commit pushed to the repository. Click <strong>Create</strong>.</p>



<p class="wp-block-paragraph">VSTS will pre-load all required build tasks. Review the steps (NuGet restore, MSBuild, VSTest, Publish Build Artifacts) and adjust only if your project requires non-default settings. When finished, click <strong>Save</strong>.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image010.JPG" alt="VSTS build definition editor showing auto-loaded build tasks"/></figure>



<h2 class="wp-block-heading">Step 4: Create an Azure Web App as the Deployment Target</h2>



<p class="wp-block-paragraph">Log in to the <a href="https://portal.azure.com" rel="noopener">Azure Portal</a>. Create a new Web App by navigating to <strong>New &gt; Web + Mobile &gt; Web App</strong>. Complete the required fields (App name, Resource Group, App Service Plan) and click <strong>Create</strong>.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image011.jpg" alt="Azure Portal showing Web App creation"/></figure>



<p class="wp-block-paragraph">Once provisioned, the overview blade shows the default URL for your new App Service (e.g., <code>https://&lt;your-app-name&gt;.azurewebsites.net</code>). Keep this URL handy — you&#8217;ll need it when configuring the release definition.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image012.JPG" alt="Azure Web App overview blade"/></figure>



<h2 class="wp-block-heading">Step 5: Configure a Release Definition in VSTS</h2>



<p class="wp-block-paragraph">In VSTS, navigate to <strong>Build &amp; Release &gt; Releases</strong> and click <strong>New Definition</strong>.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image013.jpg" alt="VSTS Build and Release menu with Releases selected"/></figure>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image014.JPG" alt="VSTS Releases page showing New Definition button"/></figure>



<p class="wp-block-paragraph">From the list of deployment templates, select <strong>Azure App Service Deployment</strong> and click <strong>Next</strong>.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image015.JPG" alt="Release definition template selection showing Azure App Service Deployment"/></figure>



<p class="wp-block-paragraph">On the next screen:</p>



<ul class="wp-block-list"><li>Select your <strong>Project</strong> and <strong>Build Definition</strong> from the dropdowns</li><li>Check <strong>Continuous Deployment</strong> to trigger a release automatically after every successful build</li><li>Click <strong>Create</strong></li></ul>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image016.JPG" alt="Release definition source configuration with Continuous Deployment checkbox"/></figure>



<p class="wp-block-paragraph">In the release definition editor:</p>



<ul class="wp-block-list"><li>VSTS automatically lists the Azure subscriptions associated with your login. Select the appropriate subscription.</li><li>Click <strong>Authorize</strong> to grant VSTS access to your Azure resources.</li><li>Select the <strong>App Service Name</strong> you created in Step 4 from the dropdown.</li><li>Enter the App Service URL in the <strong>App Service URL</strong> field.</li><li>Click <strong>Save</strong>.</li></ul>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image017.JPG" alt="Release definition editor showing Azure subscription and App Service configuration"/></figure>



<h2 class="wp-block-heading">Step 6: Commit a Change and Verify the Pipeline</h2>



<p class="wp-block-paragraph">With the CI/CD pipeline in place, any commit pushed to the VSTS Git repository will automatically trigger a build. If the build succeeds, a release is triggered automatically and the application is deployed to Azure App Service.</p>



<p class="wp-block-paragraph">To test this, make a small change to your application (for example, update a page title in an HTML file) and commit and sync the change from Visual Studio&#8217;s Team Explorer.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image019.JPG" alt="Visual Studio Team Explorer showing a commit ready to be pushed"/></figure>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image020.jpg" alt="Sync screen in Team Explorer after committing changes"/></figure>



<p class="wp-block-paragraph">Navigate to <strong>Build &amp; Release &gt; Builds</strong> in VSTS. You should see a build queued or in progress. VSTS also sends a build status notification email.</p>



<h3 class="wp-block-heading">Build in Progress</h3>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image021.JPG" alt="VSTS build in progress status"/></figure>



<h3 class="wp-block-heading">Build Succeeded</h3>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image022.JPG" alt="VSTS build succeeded notification"/></figure>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image023.JPG" alt="VSTS build summary page showing successful build"/></figure>



<p class="wp-block-paragraph">Once the build completes, the release is triggered automatically. Navigate to <strong>Build &amp; Release &gt; Releases</strong> to confirm the deployment status.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image024.JPG" alt="VSTS release page showing successful deployment to Azure App Service"/></figure>



<p class="wp-block-paragraph">With a successful deployment, open the Azure Web App URL in your browser to confirm the changes are live.</p>



<figure class="wp-block-image"><img decoding="async" src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/article/continuous-integration-using-visual-studio-team-service/Images/image025.JPG" alt="Deployed ASP.NET application running in Azure App Service"/></figure>



<h2 class="wp-block-heading">Summary</h2>



<p class="wp-block-paragraph">This walkthrough covered the complete CI/CD setup from code to cloud using VSTS and Azure App Service:</p>



<ol class="wp-block-list"><li>Created a new VSTS project with Git version control</li><li>Pushed an existing ASP.NET Web API project to the VSTS Git repository from Visual Studio</li><li>Configured a Build Definition with the ASP.NET template and Continuous Integration enabled</li><li>Provisioned an Azure Web App as the deployment target</li><li>Configured a Release Definition using the Azure App Service Deployment template with Continuous Deployment enabled</li><li>Verified that a code commit triggers an automated build and deployment end-to-end</li></ol>



<p class="wp-block-paragraph"><strong>Note:</strong> Visual Studio Team Services (VSTS) was rebranded to <strong>Azure DevOps</strong> in September 2018. The underlying concepts — pipelines, build definitions, release definitions — remain the same, though the UI and terminology have evolved. If you are using Azure DevOps today, the equivalent features are found under <strong>Pipelines &gt; Builds</strong> and <strong>Pipelines &gt; Releases</strong>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.bestdevops.com/continuous-integration-using-visual-studio-team-service/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
