<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xx="tags" 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>Azure DevOps - Ken Muse</title><atom:link href="https://www.kenmuse.com/tags/azure-devops/rss/" rel="self" type="application/rss+xml"/><link>https://www.kenmuse.com/tags/azure-devops/</link><description>Discover Azure, DevOps, and development insights with Ken Muse, a DevOps Architect at GitHub and 4x Microsoft Azure MVP</description><language>en-us</language><sy:updatePeriod>weekly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><image><title>Azure DevOps - Ken Muse</title><link>https://www.kenmuse.com/tags/azure-devops/</link><width>32</width><url>https://www.kenmuse.com/tags/azure-devops/favicon/favicon-32x32.png</url><height>32</height></image><atom:link href="https://www.kenmuse.com/tags/azure-devops/rss/index.xml" rel="self" type="application/rss+xml"/><item><title>Why Your Perforce Branch History Is Missing in Git</title><link>https://www.kenmuse.com/blog/why-perforce-branch-history-is-missing-in-git/</link><pubDate>Thu, 08 Jan 2026 00:00:00 -0500</pubDate><guid isPermaLink="false">why-perforce-branch-history-is-missing-in-git</guid><category>DevOps</category><category>GitHub</category><description>Your Perforce branch history vanishes in Git because Git has no place to store it -- here's why and how to help your team adapt.</description><enclosure type="image/jpeg" url="https://www.kenmuse.com/blog/why-perforce-branch-history-is-missing-in-git/images/banner.jpg"/></item><item><title>Comparing Azure DevOps and GitHub</title><link>https://www.kenmuse.com/blog/comparing-azure-devops-and-github/</link><pubDate>Thu, 16 Nov 2023 00:00:00 -0500</pubDate><guid isPermaLink="false">comparing-azure-devops-and-github</guid><category>Azure DevOps</category><category>GitHub</category><description>It can be challenging too understand the differences between Azure DevOps and GitHub Actions. This article provides a mapping of the features and terminology.</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/comparing-azure-devops-and-github/images/banner.png"/></item><item><title>Restoring Azure Tests for SonarQube</title><link>https://www.kenmuse.com/blog/restoring-azure-tests-sonarqube/</link><pubDate>Wed, 25 Sep 2019 00:00:00 -0400</pubDate><guid isPermaLink="false">restoring-azure-tests-sonarqube</guid><category>Azure DevOps</category><category>DevOps</category><description>&lt;p&gt;Continuing from the
&lt;a class="" href="https://www.kenmuse.com/blog/azure-devops-missing-tests/" target="_self"&gt;previous post&lt;/a&gt;, SonarQube expects a certain set of files to be present in &lt;code&gt;$(Common.TestResultsDirectory)&lt;/code&gt;. When it doesn&amp;rsquo;t find the files in the folder, it can prevent it from reporting the results correctly. Because of changes to the &lt;strong&gt;vstest&lt;/strong&gt; task, that folder is cleaned up once the tests results are uploaded, meaning that the files may not exist when SonarQube looks for them. We have a few options for resolving this issue.&lt;/p&gt;</description><enclosure type="image/jpeg" url="https://www.kenmuse.com/blog/restoring-azure-tests-sonarqube/images/banner.jpg"/></item><item><title>Missing Tests on Azure DevOps</title><link>https://www.kenmuse.com/blog/azure-devops-missing-tests/</link><pubDate>Tue, 24 Sep 2019 00:00:00 -0400</pubDate><guid isPermaLink="false">azure-devops-missing-tests</guid><category>Azure DevOps</category><category>DevOps</category><description>&lt;p&gt;The customer was having a rough day. They had lots of unit tests, but were seeing an unexpected behavior from Azure DevOps and SonarQube. Because some tests were written in XUnit and others with MSTest, they had separated the execution into two tasks in their build. At the end of the build, results were sent to SonarQube for analysis. The problem was that each time the second set of tests ran in Azure DevOps, the results from the first pass disappeared. The assumption was that the files were being overwritten by the second test run. The fix seemed simple &amp;ndash; copy the results before the second set of tests executed.&lt;/p&gt;</description><enclosure type="image/jpeg" url="https://www.kenmuse.com/blog/azure-devops-missing-tests/images/banner.jpg"/></item><item><title>DevOps and Creating Documentation</title><link>https://www.kenmuse.com/blog/devops-and-documentation/</link><pubDate>Mon, 05 Nov 2018 00:00:00 -0500</pubDate><guid isPermaLink="false">devops-and-documentation</guid><category>Azure DevOps</category><description>&lt;p&gt;Just because your software iterations are fast and lean doesn&amp;rsquo;t mean that you shouldn&amp;rsquo;t have good documentation. In fact, with shorter release cycles documentation becomes even more important. Consequently, it&amp;rsquo;s important to have a a process that makes rapid updates possible.&lt;/p&gt;
&lt;p&gt;I was faced with just such a situation the other day. I had to assist with some documentation which were authored as
&lt;a class="external-link" href="https://docs.microsoft.com/en-us/contribute/how-to-write-use-markdown" arial-label="The Markdown link opens in a new tab" target="_blank"&gt;Markdown&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt; and stored in source control. The documents were manually published by converting them to HTML using a Python 3 package called
&lt;a class="external-link" href="https://github.com/joeyespo/grip" arial-label="The Grip link opens in a new tab" target="_blank"&gt;&lt;strong&gt;Grip&lt;/strong&gt;&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt;. This formatted the documents and gave them an appearance based on Github&amp;rsquo;s look and feel. The results were packaged in a ZIP file for distribution. A repetitive process like this seems like a great excuse to automate!&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/devops-and-documentation/images/DevOps-Docs-1429x375.png"/></item><item><title>Conditional Build and Release Tasks in VSTS</title><link>https://www.kenmuse.com/blog/conditional-build-and-release-tasks-in-vsts/</link><pubDate>Mon, 25 Jun 2018 00:00:00 -0400</pubDate><guid isPermaLink="false">conditional-build-and-release-tasks-in-vsts</guid><category>Azure DevOps</category><description>&lt;p&gt;One of the most overlooked features in VSTS is the ability to determine whether a task will be executed using custom conditions. What are custom conditions? It&amp;rsquo;s the ability to specify a short expression which evaluates to a boolean value. If the result is true, the task will be executed. If the value is false, the task is ignored. For example, let&amp;rsquo;s take this expression:&lt;/p&gt;
&lt;img
src="https://www.kenmuse.com/blog/conditional-build-and-release-tasks-in-vsts/images/2018-06-21-Conditional-Buildscond-01_hu_5da29ddda76a5960.webp"
alt=""
class=""
loading="lazy"
width="761"
height="197"
/&gt;&lt;p&gt;This expression evaluates the built-in variable &lt;code&gt;Build.Reason&lt;/code&gt; to determine if the task is executing the build as part of a pull request branch policy. If the build status is currently &lt;em&gt;failed&lt;/em&gt; and the build was triggered by a pull request, the task will execute. In all other cases, the task will be skipped.&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/conditional-build-and-release-tasks-in-vsts/images/2018-06-21-Conditional-Buildscond-01.png"/></item><item><title>Enabling Release Annotations in VSTS</title><link>https://www.kenmuse.com/blog/enabling-release-annotations-vsts/</link><pubDate>Mon, 11 Jun 2018 00:00:00 -0400</pubDate><guid isPermaLink="false">enabling-release-annotations-vsts</guid><category>Azure DevOps</category><category>Azure</category><description>&lt;p&gt;Application Insights is a powerful component of Azure. It provides us with real-time logging about the performance of our application, the reliability of the site, and any exceptions that might arise. It&amp;rsquo;s an important and often overlooked part of the DevOps lifecycle &amp;mdash; monitoring the application in production.&lt;/p&gt;
&lt;p&gt;New releases can introduce new issues. Whether its a new bug being exposed as part of the release or simply some latency issues during the rollout, it&amp;rsquo;s important to understand the relationship. Today&amp;rsquo;s post will explore how we can use VSTS to automatically add annotations to our Application Insights environment.&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/enabling-release-annotations-vsts/images/2018-05-30-Release-Annotationsannotation-01.png"/></item><item><title>DevOps News From Connect(); 2017</title><link>https://www.kenmuse.com/blog/devops-news-from-connect-2017/</link><pubDate>Thu, 16 Nov 2017 00:00:00 -0500</pubDate><guid isPermaLink="false">devops-news-from-connect-2017</guid><category>Azure DevOps</category><category>DevOps</category><description>&lt;p&gt;The
&lt;a class="external-link" href="https://www.microsoft.com/en-us/connectevent/default.aspx" arial-label="The Microsoft Connect(); 2017 online event link opens in a new tab" target="_blank"&gt;Microsoft Connect(); 2017 online event&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt; is nearly over, and so far we&amp;rsquo;ve heard lots of exciting news from Microsoft about Azure and changes to improve their support for DevOps. In fact, DevOps has been a big part of the theme this year.&lt;br&gt;
So let&amp;rsquo;s recap some of the announcements that have been made&amp;hellip;&lt;/p&gt;
&lt;h2 id="azure-devops-projects"&gt;
&lt;a class="heading-link" href="#azure-devops-projects"&gt;Azure DevOps Projects&lt;span class="fa-solid fa-link" aria-hidden="true"&gt;&lt;/span&gt;&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;If you&amp;rsquo;re new to Azure and VSTS, it can be difficult to know how to begin building a DevOps pipeline thatand configuring everything to deploy to Azure. Microsoft is introducing the
&lt;a class="external-link" href="https://blogs.msdn.microsoft.com/devops/2017/11/15/announcing-azure-devops-project-public-preview/?WT.mc_id=DT-MVP-5003035" arial-label="The Azure DevOps Project public preview link opens in a new tab" target="_blank"&gt;Azure DevOps Project public preview&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt; to try to solve that. If you open
&lt;a class="external-link" href="https://portal.azure.com/#create/Microsoft.AzureProject," arial-label="The https://portal.azure.com/#create/Microsoft.AzureProject, link opens in a new tab" target="_blank"&gt;https://portal.azure.com/#create/Microsoft.AzureProject,&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt; you will be presented with a Wizard that will walk you through the process of creating a code repository and CI/CD pipeline for a new application. You can choose from a set of sample applications in .NET, Node.js, PHP, Python, Java, or pure HTML &amp;hellip; or bring your own code. The wizard will create a Git Repository with the code and a CI/CD pipeline in VSTS. It will also create all of necessary the Azure resources, including Application Insights monitoring. This promises to make it easier for everyone to get started.&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/devops-news-from-connect-2017/images/banner.png"/></item><item><title>Using SSH with Visual Studio Team Services</title><link>https://www.kenmuse.com/blog/vsts-ssh/</link><pubDate>Mon, 13 Nov 2017 00:00:00 -0500</pubDate><guid isPermaLink="false">vsts-ssh</guid><category>Azure DevOps</category><description>&lt;p&gt;In April 2016, Visual Studio Team Services introduced support for using SSH to connect to Git repositories. Over the summer of 2017, Microsoft made a number of improvements to reduce latency and improve performance for Git connections. These changes take advantage of Azure Traffic Manager to route the traffic over the
&lt;a class="external-link" href="https://azure.microsoft.com/en-gb/blog/how-microsoft-builds-its-fast-and-reliable-global-network/" arial-label="The Azure Global Network link opens in a new tab" target="_blank"&gt;Azure Global Network&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt;. According to the
&lt;a class="external-link" href="https://blogs.msdn.microsoft.com/devops/2017/10/23/vsts-ssh-on-azure-global-network/" arial-label="The Microsoft announcement link opens in a new tab" target="_blank"&gt;Microsoft announcement&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt;, the results were a success &amp;ndash; an overall improvement in transfer speeds and latency. Of course, changes like this have a cost. In this case, Microsoft needed to change the URLs used for SSH connections. Consequently, Microsoft announced that on November 17, the old URLs will be deprecated and no longer work. That day is almost here &amp;ndash; so consider this a friendly reminder!&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/vsts-ssh/images/image_thumb.png"/></item><item><title>Installing VSTS Build Agents on macOS</title><link>https://www.kenmuse.com/blog/installing-macos-vsts-build-agent/</link><pubDate>Mon, 02 Oct 2017 00:00:00 -0400</pubDate><guid isPermaLink="false">installing-macos-vsts-build-agent</guid><category>Azure DevOps</category><category>DevOps</category><description>&lt;p&gt;If you&amp;rsquo;re doing Xamarin, macOS (OS X), or iOS development work you&amp;rsquo;ve likely discovered that you need a way to automate the build of your code from Visual Studio Team Services. If you&amp;rsquo;re not familiar with setting up a private build agent macOS, the
&lt;a class="external-link" href="https://docs.microsoft.com/en-us/vsts/build-release/actions/agents/v2-osx?WT.mc_id=DT-MVP-5003035" arial-label="The installation instructions link opens in a new tab" target="_blank"&gt;installation instructions&lt;span class="fa-solid fa-up-right-from-square" &gt;&lt;/span&gt;&lt;/a&gt; provided by Microsoft can be a bit confusing. This post will attempt to provide you with a walkthrough of the install process. It will also guide you in configuring a working build agent on macOS. This article does not assume you are an expert with macOS or that you have any hands-on experience working in an Apple environment.&lt;/p&gt;</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/installing-macos-vsts-build-agent/images/banner.png"/></item><item><title>DevOps: Connecting VSTS to Azure</title><link>https://www.kenmuse.com/blog/devops-connect-vsts-azure/</link><pubDate>Fri, 11 Aug 2017 00:00:00 -0400</pubDate><guid isPermaLink="false">devops-connect-vsts-azure</guid><category>Azure DevOps</category><description>Learn how to manually connect Visual Studio Team Services (VSTS) to Microsoft Azure.</description><enclosure type="image/png" url="https://www.kenmuse.com/blog/devops-connect-vsts-azure/images/banner.png"/></item></channel></rss>