It's been a while since I last blogged about the Azure DevOps Extension Tasks. Here are the things that have changed since the last update:

  • Added support for publishing Visual Studio extensions.
  • Support for versioning localized Azure Pipeline tasks
  • Support for executing under Node 10
  • Fixed more promise issues
  • Renamed Visual Studio Team Services to Azure DevOps
  • Update: Added a Tool Installer

Added support for publishing Visual Studio extensions

Utkarsh Shigihally added support for publishing Visual Studio extensions. The task is currently in preview and is missing some of the features of the other tasks, but it's a great starting point.

The task acts as a wrapper for vsixpublisher.exe and depends on the Visual Studio SDK being present on the agent.

Visual Studio Extension publishing

Support for versioning localized Azure Pipeline tasks

Another contribution from the community adds support for overwriting task versions of localized build tasks. Thanks Ethan Dennis!

If you're using the "Extension Version" and "Override Tasks Version", the extension will now successfully update both the task.json and the task.loc.json.

Support for executing under Node 10

Microsoft is adding support for Node 10 to the Azure Pipelines agent which will replace the Node 6 handler over time. It looks like some of our users have started to force this newer task handler on their agents.

So far we've been notified of one issue and further testing hasn't revealed other issues. I'm extending my test scripts to ensure we test against Node 10 going forward.

Fixed more promise issues

The last big update was triggered by a number of issues that were the result of unexpected async behavior in Node. We found a few more issues since that update and these have now been resolved.

We've also started using Typestrict to get early notification of these kinds of issues.

Renamed Visual Studio Team Services to Azure DevOps

It's unlikely you haven't noticed all the recent naming changes in Azure DevOps. Visual Studio Team Services is now called Azure DevOps. Build is now called Azure Pipelines etc.

This change isn't just superficial. All the libraries we depend on have also been renamed. I've previously blogged about the steps required to fix your dependencies and now all of these tasks are also completely up to date.

Update: Added a Tool Installer

Until today the Azure DevOps Extension tasks would always auto-install tfx-cli upon first run and would then keep using that version on private agents. The logic for that is already quite old and has caused some issues in the past.

The Azure Pipelines Agent supports a concept called Tool installers which handle the download and installation of external tools. We've added a tool installer for tfx-cli which allows you to specify the version you want and offers auto-update features.

Is there anything you'd like to see in the Azure Extension Tasks? Do you have a few powerful scripts tugged away in your own pipeline that could be valuable to the community? Please, do submit an issue or, even better a pull request.