As this extension contains a pipeline-decorator, it cannot be converted to a publicly available extension in the marketplace. This document outlines how you can install this extension in your Azure DevOps Organization.
You have three possible options:
- Install via Sharing
- Fork and Publish
- Install Manually (Azure DevOps Server Only)
A private extension can be "shared" so that it is made available to your Azure DevOps Organization. Once shared, your Project Collection Administrator can install it through the link available in General > Extensions : Shared tab.
To add your organization to the extension's shared list, open an issue and provide your details.
You may choose to publish this extension to your own organization.
Azure DevOps setup:
-
Fork this repository
- Please Star or Fork the repository so that I know this extension is being used :-)
-
Create a new Project in your Azure DevOps Organization and link the GitHub repository.
- Alternatively, you can import the git repository into an Azure DevOps repository.
-
Install the Azure DevOps Extensions Tasks and follow their "How to use" instructions on how to setup a PAT token that can communicate with the marketplace.
-
In your Azure DevOps Project, create a "Visual Studio Marketplace" Service-Connection that uses the PAT token
-
Create a variable group
pipeline-extension-settings
and add the following:Name Value ExtensionsId name of the extension, eg deploymentqueuingdecorator
Extension Name display name for the decorator. PublisherId your publisher name in the marketplace SharedWith comma-delimited list of azure devops organizations -
Create a new Pipeline and link it to the existing YAML pipeline /devops/pipelines/marketplace-extension/pipeline.yml
Marketplace Setup:
-
Login to the Marketplace
(https://marketplace.visualstudio.com
) using the same identity that you used to create the PAT token. -
Click on the Publish extensions link
-
Click on the Create Publisher button and fill in the basic details.
-
Before you can run the pipeline, the extension must exist in the marketplace:
- Clone the repository locally
- Install tfx extensions:
npm install -g tfx-cli
- Modify the /src/vssextension.json to match the values in the variable group above:
- extension name
- publisher name
- Create the extension:
tfx extension create -r src
-
Upload the extension (*.vsix) to your publisher.
-
Share the extension with your organization. (Optional, because the pipeline will also share with the organizations you specified in the
SharedWith
variable)
Now you can run the pipeline to promote changes or share with additional organizations of your choosing.
- Download the latest published release (TODO)
- Navigate to
<https://<your-server>/_gallery/manage>
and upload the extension.