Getting started with Terraform on Azure

This post is the first of a large serie of blog posts on DevOps on Azure, I will expose my current experience for the implementation of a Devops process with Terraform, Ansible, VSTS, Inspec, Jenkins, …..

The objective of this serie is not to rewrite existing documentation, posts, articles, … but it will be a “cookbook” type series with posts that will expose real uses cases with best pratice of use of these tools in entreprises.

To start, I’ll talk about Terraform and how to use it to provision resources in Azure  (also valid for other cloud providers).

Terrafom from HashiCorp is Infrastructure As code tool that allows to provision resources in Azure with a very simple language (HCL).

Advantages of Terraform are:

  • It is open source with a large active community.
  • It’s Multi Cloud provider (Azure, AWS, OpenStack, …..)
  • It’s multi-plateforme: work on Linux, Windows, Mac OS, …
  • It allows to preview the changes that it will apply before its application (with the plan command).
  • It runs in command line, so it can be integrated in an automated devops pipeline.
  • The command line tool has some very useful options (which we will see as we go along).
  • and many others ….

Lire la suite

How resolve TFS 2018 no longer send emails notification

In this article I want to expose a problem (and a solution 🙂 ) that I encountered in my customer that use TFS 2018.2

The problem:

The client reported the following problem to me: since he upgrade from TFS 2018.0 to TFS 2018.2, he no longer receives all notifications emails that are sent either when a pull request is created, or when there is a change on a Work item on the “Assigned To” field. Sometimes users receive emails (but it’s rare) but in most cases emails are not sent.

Before this upgrade, sending emails by TFS worked very well.

My Investigation:

My investigation focused on different topics:

  • The configuration of the smtp server informations in the TFS Administration Console. In this side, the configuration is correct and has not been changed with the upgrade.
  • Investigate on the job agent history for  try to get  a raison of the failure:

Lire la suite

Create GitHub release with release notes in VSTS pipeline

In my previous post I exposed the VSTS task for tag your GitHub source code, that in included in my VSTS extension “GitHub Tools Task” , published in the Visual Studio Marketplace at

For continue to improve this integration of GitHub inside DevOps pipeline in VSTS (Visual Team Services), I included another task in this extension to create a GitHub release with a release notes during your VSTS CI/CD pipeline. You can get more informations for create GitHub release manually in the GitHub documentation.

Fo create GitHub release, in your release definition, add the task “Create GitHub release” from the Utility category of VSTS task catalog Lire la suite

Tag your GitHub source code in VSTS pipeline

When using Git source control system, the tag mechanism is one of good practice in great DevOps pipeline.

In VSTS (Visual Studio Team Services) build process, the Tag action option is present by default when the source repository is Git type.

What we can notice that this option is not present if the source repository is GitHub type.

To allow me to tag my GitHub source code I developped and published an extension in the Visual Studio Marketplace, which through a build/release task will tag my source code. Lire la suite

All my VSTS Extensions resources

In this post I reference all my resources for create and publish  Visual studio Team Services and TFS Extensions.

My first and more usual resource is the Visual Studio Marketplace for search, install and Download all public VSTS / TFS extensions :

Lire la suite

Manage shared variables across Release definitions

One of the latest feature of VSTS is to provide a library for share variables between Releases definitions.

In this blog post we will see how create these shared variables and how link them to release definition.

Create variable group

The first step is to create variable group into the menu item Library (on Build & Release)

add variable group

Lire la suite

View usage of resources in VSTS

One of last feature of VSTS is the possibility to view the Usage of resources consumption of VSTS by individual user.

One of this usage metric is the Usage TSTUs (Team Services Through Units) that correspond to shared resources consumption as for example : file upload with source control, running complex query, build execution. All this metrics is in one unit data called TSTUs.

All details about this usage is in documentation.

For view Usage in VSTS open Settings Dashboard and click on Usage menu. Lire la suite

How generate _PublishedWebsites folder in Builds vnext

In TFS 2013 Xaml build and Msbuild we have the possibility to generate a folder _PublishedWebsites that contain the files result for the web project compilation.


In new build system Vnext build for TFS 2015 and VSTS, for generate this folder during build compilation, into Visual Studio Build (or MSbuild) Task, add MsBuild Argument  /p:outdir with the destination of the compilation ouput, for example : /p:outdir=$(Build.BinariesDirectory)

msbuild Arguments

Lire la suite

My new blog

Welcome to my new blog about all ALM Subjects with TFS, DevOps practices, news, …

For my olders posts see