Skip to main content

Posts

Showing posts with the label ALM

TFS Build Test Task–How to exclude a set of tests

The Test Task in TFS Build allows you to specify which assemblies should be searched for (unit) tests. By using the Test Filter criteria, you can further filter the set of Tests you want to be executed: Based on the Tooltip you get the impression you can only specify which tests to include based on things like TestName, TestCategory, … But under the hood there is a lot more possible. You can not only include tests(using ‘=’), but also exclude tests(using ‘!=’), execute a contains check (using ‘~’) and group subexpressions (using ‘( <subexpression>)’). Here is a short sample where I exclude all PerformanceTests, include tests with Priority 1 and where the name contains the word ‘UnitTest’:

Creating a release pipeline for your mobile applications

I’m currently working on a release pipeline for our mobile applications, making it easy to build, deploy and test the mobile solutions we are creating on top of the Xamarin platform. Everyone who ever tried to publish a mobile application to a store(Apple AppStore, Google Play Store, Microsoft App Store,…) knows that it is cumbersome process requiring things like certificates, keystores, a lot of configuration work and so on… To optimize the process we went fully automated by using a combination of the following tools: Visual Studio Team Services Hosted Build Service MacInCloud Xamarin Test Cloud HockeyApp A great help during our journey was the DevOps blog series by Richard Woollcott: Xamarin DevOps VSTS – Getting Started: http://www.thexamarinjournal.com/xamarin-dev-ops-with-vsts-getting-started/ Xamarin DevOps with VSTS - Setup iOS CI Builds With MacinCloud: http://www.thexamarinjournal.com/xamarin-dev-ops-with-vsts-setup-ios-ci-builds-with-macinc...

TFS Build vNext - Nunit 3.0 Test Adapter error

When trying to run my NUnit tests on the build server, my build turned red with the following error message inside the Test step: 2016-04-28T08:46:53.3339665Z ##[error]Error: Exception System.ArgumentException, Exception thrown executing tests 2016-04-28T08:46:53.3339665Z ##[error] 2016-04-28T08:46:53.3349431Z ##[error]Error: Illegal characters in path. 2016-04-28T08:46:53.3349431Z ##[error] This problem is caused by a bug in the NUnit 3.0.8 test adapter when used through the NuGet package(and not through the VSIX extension). Luckily a fix is already available, so upgrade to the latest version of the NUnit test adapter and the problem should disappear.

SonarQube configuration error: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path

While configuring a SonarQube server to use SQL Server, I encountered the following error after enabling Integrated Security in the JDBC connection string. After adding “ integratedSecurity=true ” I got the following error message when I tried to start SonarQube: WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path Let’s fix this: First of all make sure that you downloaded the Microsoft JDBC drivers(available here: https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 ) Run the exe to extract the content. Inside you”ll find the sqljdbc_auth.dll Copy this dll inside the windows\system32 folder That should do the trick…

Visual Studio Team Foundation Server and Team Services Feature Index

With the incredible pace that Microsoft is releasing new features, and the 3 week release cycle of VS Team Services(aka Visual Studio Online), it’s a challenge to know what features are available in the TFS ecosystem. To help us, Microsoft created a feature index with all the features available to help you plan and track your projects and code, build, test, and release your software applications. Great help! So bookmark this link: https://msdn.microsoft.com/library/vs/alm/overview/alm-devops-feature-index

Team Foundation Server 2015–New build agents–Installation issue

Yesterday I talked about the new agent based build system introduced in TFS 2015. I mentioned how easy it was to install them, … until you get into trouble. Today I encountered an issue when rolling out an agent on existing server. When I invoked the ConfigureAgent.ps1 script, it failed with the following message: PS C:\build> .\ConfigureAgent.ps1 Unblocking files The term 'Unblock-File' is not recognized as the name of a cmdlet, function, script file, or operable program. Check th e spelling of the name, or if a path was included, verify that the path is correct and try again. At C:\build\ConfigureAgent.ps1:12 char:52 + Get-ChildItem -Path $currentLocation | Unblock-File <<<<  | out-null     + CategoryInfo          : ObjectNotFound: (Unblock-File:String) [], CommandNotFoundException     + FullyQualifiedErrorId : CommandNotFoundException The term ...

Team Foundation Server 2015– New Build Agents

Team Foundation Server 2015 introduces a new agent based build system(the old  XAML Workflow based system is still supported). From the website: “The new builds are web- and script-based, and highly customizable. They leave behind many of the problems and limitations of the XAML builds. For example, this new system embraces the diverse set of domain-specific languages (DSLs) that developers used to build the code on their dev machines. We expect this will reduce the chances of running into the "builds fine on my machine but not on the CI server" problem. For more details, see Overview of Team Foundation Build 2015 .” Installing these new build agents is easy: Open the TFS Web Access Click on the Administer Server icon in the right corner Click on the Collection at the top. (In my case ‘DefaultCollection’) Click on the Build tab Click on Download Agent to download the agent as a zip file Extract the zip file on your build server(choos...

Be aware : Team Foundation Server 2015 Upgrade can take a long time

With the release of Team Foundation Server 2015, it’s time to upgrade our existing TFS 2013 environments. One warning before you start, upgrading to TFS 2015 can take a long time(depending on the size of your database), a lot longer than upgrading previous versions. The reason for this is that TFS 2015 includes schema changes to a large number of tables in order to support renaming team projects. If you want to minimize downtime, it is recommended to use TfsPreUpgrade.exe, a small tool that does the most expensive parts of the work to upgrade to TFS 2015 while your TFS 2013 deployment is still online. TfsPreUpgrade.exe works by creating new copies of the tables most impacted by the schema changes present in TFS 2015 and then migrating data from the original tables to the new copies. As TfsPreUpgrade.exe adds some triggers behind the scenes, it can have a negative impact on performance. So only run it when you will upgrade TFS in the near future. Remark: TfsPreUpgrade.exe can provi...

DevOps–Run what you wrote

If I have to phrase the concept of ‘ DevOps ’ in one sentence, it’s: “Run what you wrote” I think that by making developers(and by larger extend) teams responsible for the code they wrote and the failures it caused in production, they learn to write code that doesn’t fail(and if it fails at least it does it in a graceful matter). Does this mean that developers get to do all the work and the system administrator can all take a long vacation? Of course not, it means that the concept of cross-functional teams, as promoted by Scrum and other Agile methodologies, should extend outside the analysis, design, development and testing domain and reach into operations. Only then, we can talk about truly cross-functional teams.

Team Foundation Server: How to migrate TFS Version Control project by project

One of the customers I work for is making the move to Team Foundation Server. For the project I’m working on, we used a temporal TFS project hosted at my employer(Ordina). Unfortunately there wasn’t an easy migration path to move the source code from the Ordina TFS to the TFS at the customer location. Why? Because we are using SQL Server 2014 and the customer has standardized on SQL Server 2012. And this is an unsupported migration path. Luckily, I found a workaround to not lose any history. In short, what I do is export all the source code in TFS Version Control(TFVC) from my company’s TFS to a Git Repo. Afterwards I import the code from Git  into the TFSVC from the customer. Interested in the specific steps? Here are all the details: Prerequisites I used a combination of 2 tools that support integration between TFS and Git. (Why 2 tools? Because I had some issues when I tried to accomplish the process with only one of the tools.) Git-TF The official tool c...

Techorama 2015: RadioTFS.com

During Techorama there was a lot of great ALM related content. Martin Woodward did his very last ALM related session, so it was an honor to be there for his goodbye. One of the great things he shared was the existence of the RadioTFS podcast. Although I’m active in the ALM space for a long time, I have to admit that I never heard about it . // the podcast about microsoft visual studio team foundation server , visual studio online and visual studio application lifecycle management Time to update my list of podcasts…

Team Foundation Server 2015–System Requirements

For a customer I’m preparing a roll-out of Team Foundation Server 2015 once it is released(yes, I know it’s still in CTP ). The server guys were asking for the hardware and software specs, but I couldn’t find a definitive list of system requirements. The only somewhat useful/official information I could find was in the comments of a blog post by Brian Harry . If Brian is right(as the TFS Product Unit Manager, he should be), requirements will probably stay the same as for TFS 2013 .

SQL Server Data Tools: Setup Continuous Integration for your Database Projects

In Visual Studio 2013, the SQL Server Data Tools are available out-of-the-box. They give you a new project template, the Database project, that allows you to manage your database objects and scripts in a structured way. In this post I want to explain how you can enable continuous integration and automatically deploy your database changes each time you check-in some code. Preparation Before we start make sure that you created a database project and added some database objects. On your TFS build agent, the SQL Server Data Tools should also be installed. If you are using Visual Studio Online(like I will do) together with a hosted Build Controller, the Data Tools are already installed.(Here is the full list of installed components: http://listofsoftwareontfshostedbuildserver.azurewebsites.net/ ) Add a Publish Profile Open Visual Studio and load your Database Project. Once Visual Studio is ready, right-click on your Database Project and click on Publish… The Publish Data...

GitHub Training

Interested in using GitHub? But you don’t know where to start. The Roslyn team put their internal training, done by Jared Parson , online. Roslyn on GitHub from Immo Landwerth

DevIntersection 2014 – Visual Studio Announcements

At the moment I’m in Las Vegas attending DevIntersection . During the keynote by Steven Guggenheimer this morning, they shared some news about .NET and Visual Studio that was later repeated during the Connect conference. Here are some of the highlights: Visual Studio and Team Foundation Server 2013 Update 4 are available.  Release notes… The first public preview of Visual Studio 2015 and .NET 2015 are available.  Release notes… The .NET Framework is going open source and cross platform A free Visual Studio Community 2013 – a new edition of Visual Studio that combines everything in all the Express products and adds extensibility support.  Learn more… Enough announcements to keep us busy for a while… More information can be found at: Brian Harry’s blog: http://blogs.msdn.com/b/bharry/archive/2014/11/12/news-from-connect.aspx The Visual Studio blog: http://blogs.msdn.com/b/visualstudio/archive/2014/11/12/visual-studio-2015-preview-visual...

Application Insights Tools for Visual Studio

Microsoft released some extra tools for Visual Studio to integrate Application Insights telemetry in your applications in an easy way.  Get Started To get started with a new project, simply create a Web or Windows Store project. In the New Project dialog, make sure that Add Application Insights to Project is checked. To get started with an existing project, right-click on a Web or Windows Store project in Solution Explorer and choose Add Application Insights Telemetry to Project . That's it! Then run your Web application locally (or deploy your application), and after 10-15 minutes, telemetry data will automatically start appearing in the Application Insights Portal in the Usage tab.

Customizing Team Foundation Server

Although there is a lot of information out there about customizing Team Foundation Server, it’s not always easy to find. KathrynE gaves us a nice Christmas present by grouping all this information together in one blog post . It gives you links to topics that show how to configure or customize areas related to version control, build, work tracking, and testing using TFS. Go check it out!

Error: TF400534: Package (tfs_objectmodel_x64) caching failed with the following status: 0x80070001

If you see a TFS installation(or the installation of an update) fail with the following error message : Error: TF400534: Package (tfs_objectmodel_x64) caching failed with the following status: 0x80070001 it probably means that your installation media is corrupt. Just download it again and restart the installation procedure.

Team Foundation Server 2012 Updates: should I install previous updates first?

Short anwer: NO . Somewhat longer answer: Starting from TFS 2012 Microsoft switched to a faster pace, releasing new functionality every 3 months through so called ‘Updates’. There have been 3 updates for TFS 2012. If you want to upgrade just take the latest version, all previous updates will be applied as well.

Team Foundation Server: Map different branches to the same folder using the SAK

Last week when giving a Team Foundation Server for Administrators course, I got a great tip from one of the students(thanks Guy!). Let’s first set the scene and explain the situation. For every release they make a new branch is created(and they do a lot of releases). By default every branch is mapped to a different folder so if you don’t clean up your workspace you end up with lots of folders each containing a specific (released) version of the source code. Because they only need one release on disk at a time, they decided to update the workspace mapping to put the active release in a ‘Release’ folder on their local disk. So with every new release, they update the mapping and map a different release to this ‘Release’ folder. Everyone is still with me? Now the problem is that when they try to load the solution in the release folder, Visual Studio gets confused and gives the following message: There appears to be a discrepancy between the solution's source control information ab...