Azure DevOps Extension
Tools
DEPLOYING YOUR EXTENSIONS TO THE VISUAL STUDIO
MARKETPLACE
MVP Summit | MVP2MVP
What’s in the
box?!
What’s in the
box?! NEW
THANKS UTKARSH!
Common patterns
GITFLOW
◦ One build for develop/features
◦ Publish Extension
◦ Override extension id
◦ Visibility: private
◦ Share: account-dev
◦ One build for master
◦ Publish Extension
◦ Visibility: public
TRUNK BASED DEVELOPMNT
◦ One build for master
◦ Package extension
◦ Visibility Public
◦ Publish release pipeline
◦ Publish private environment
◦ Override extension id
◦ Visibility Private
◦ Share: account-dev
◦ …
◦ Publish release environment
Gitflow pattern
Deploy publicly
Deploy privately
Share with myaccount-dev
Trunk based development
Deploy publicly
Deploy privately
Share with myaccount-dev
Deploy privately
Share with canary users
Weird patterns
DEPLOY DEVELOP AND RELEASE EXTENSION
TO A SINGLE ACCOUNT
◦ Package Extension
◦ Publish Private extension
◦ Put branch name in extension id
◦ Enable Override task id
◦ Share with myaccount
◦ Publish Public extension
◦ Use public extension id
◦ Share with myaccount
https://jessehouwing.net/vsts-relnote-ci-cd-tools-for-vsts-
extensions-1-1-75/
Multi-version
PACKAGE NEW AND OLD BUILD TASKS
◦ Use naming pattern
◦ Fix the major version number in the task.json
◦ Override task versions in task
◦ All tasks are versioned together
https://jessehouwing.net/vsts-relnote-ci-cd-tools-for-vsts-
extensions-1-1-75/
Recent changes
◦ Tool Installer task for tfx-cli
◦ Support for localized build tasks
◦ Renamed VSTS -> Azure DevOps
◦ Added Visual Studio Extension
Publish
Less recent changes
◦ Extension validation task
◦ Extension validation release gate
◦ Renamed VSTS -> Azure DevOps
https://jessehouwing.net/vsts-relnote-ci-cd-tools-for-vsts-extensions-1-1-75/
https://jessehouwing.net/azure-devops-extension-tasks-1-1-75/
https://jessehouwing.net/vsts-release-create-complex-release-gate/
https://github.com/jessehouwing/vsts-ServerTaskExpressionTester
Gimme reviews & suggestions
Gimme reviews, Pull Requests,
more scenarios!

Azure DevOps Extension Tools

  • 1.
    Azure DevOps Extension Tools DEPLOYINGYOUR EXTENSIONS TO THE VISUAL STUDIO MARKETPLACE MVP Summit | MVP2MVP
  • 3.
  • 4.
    What’s in the box?!NEW THANKS UTKARSH!
  • 5.
    Common patterns GITFLOW ◦ Onebuild for develop/features ◦ Publish Extension ◦ Override extension id ◦ Visibility: private ◦ Share: account-dev ◦ One build for master ◦ Publish Extension ◦ Visibility: public TRUNK BASED DEVELOPMNT ◦ One build for master ◦ Package extension ◦ Visibility Public ◦ Publish release pipeline ◦ Publish private environment ◦ Override extension id ◦ Visibility Private ◦ Share: account-dev ◦ … ◦ Publish release environment
  • 6.
    Gitflow pattern Deploy publicly Deployprivately Share with myaccount-dev
  • 7.
    Trunk based development Deploypublicly Deploy privately Share with myaccount-dev Deploy privately Share with canary users
  • 8.
    Weird patterns DEPLOY DEVELOPAND RELEASE EXTENSION TO A SINGLE ACCOUNT ◦ Package Extension ◦ Publish Private extension ◦ Put branch name in extension id ◦ Enable Override task id ◦ Share with myaccount ◦ Publish Public extension ◦ Use public extension id ◦ Share with myaccount https://jessehouwing.net/vsts-relnote-ci-cd-tools-for-vsts- extensions-1-1-75/
  • 9.
    Multi-version PACKAGE NEW ANDOLD BUILD TASKS ◦ Use naming pattern ◦ Fix the major version number in the task.json ◦ Override task versions in task ◦ All tasks are versioned together https://jessehouwing.net/vsts-relnote-ci-cd-tools-for-vsts- extensions-1-1-75/
  • 10.
    Recent changes ◦ ToolInstaller task for tfx-cli ◦ Support for localized build tasks ◦ Renamed VSTS -> Azure DevOps ◦ Added Visual Studio Extension Publish Less recent changes ◦ Extension validation task ◦ Extension validation release gate ◦ Renamed VSTS -> Azure DevOps https://jessehouwing.net/vsts-relnote-ci-cd-tools-for-vsts-extensions-1-1-75/ https://jessehouwing.net/azure-devops-extension-tasks-1-1-75/
  • 11.
  • 12.
    Gimme reviews &suggestions Gimme reviews, Pull Requests, more scenarios!