
Vsix Tools is a set of extensions for Azure DevOps that:
- Populates the version in a vsix manifest file from a build.
- Uploads the vsix to the Open VSIX gallery.
- Uploads the vsix to a MyGet Vsix Feed.
- Uploads the vsix to the Visual Studio Marketplace.
- Signing the vsix.
Examples
UpdateVersion
steps:
- task: VsixToolsUpdateVersion@1
displayName: 'Set Vsix Version'
inputs:
FileName: 'source.extension.vsixmanifest' # Default: 'source.extension.vsixmanifest'
VersionNumber: 1.0.0 # Default: '$(Build.BuildNumber)'
Arguments
| Argument |
Description |
| FileName |
(Optional) Path to the source.extension.vsixmanifest file |
| VersionNumber |
(Optional) Version number to use in the manifest file, must be a valid version eg. 4.5.12.0 |
UploadVsix
steps:
- task: VsixToolsUploadVsix@1
displayName: 'Upload Vsix'
inputs:
UploadTo: 'OpenGallery' # Options: 'OpenGallery', 'MyGetVsix', 'Marketplace'; Default: OpenGallery
WorkingDirectory: '$(Build.ArtifactStagingDirectory)' # Default: '$(Build.ArtifactStagingDirectory)'
ConnectedServiceName: 'MyGetVsix'
PublishManifest: '**\*.json'
PersonalAccessToken: '***'
Arguments
| Argument |
Description |
| UploadTo |
(Optional) Destination for the uploaded Vsix |
| WorkingDirectory |
(Optional) Location of the folder containing the Vsix file |
| ConnectedServiceName |
(Required if UploadTo set to MyGetVsix) Name of the MyGet Vsix service connection to use for upload |
| PublishManifest |
(Required if UploadTo set to Marketplace) Location of the publish manifest json file |
| PersonalAccessToken |
(Required if UploadTo set to Marketplace) Token for publishing to the Marketplace |
SignVsix
steps:
- task: VsixToolsSignVsix@1
displayName: 'Sign Vsix'
inputs:
CertFile: 'GUID'
Password: '***'
SHA1: 'xx xx xx'
WorkingDirectory: '$(Build.ArtifactStagingDirectory)' # Default: '$(Build.ArtifactStagingDirectory)'
Arguments
| Argument |
Description |
| CertFile |
(Optional) Must be a Secure File Id |
| CertificatePath |
(Optional) Location of the certificate file |
| Password |
(Required) Password for the Certificate |
| SHA1 |
(Required) SHA1 Hash of the Certificate |
| Username |
(Optional) Username for retrieving the CertFile |
| Personal Access Token |
(Optional) PAT for retrieving the CertFile |
| TimestampURL |
(Optional) URL to a timestamp server |
| TimestampAlgorithm |
(Optional) Algorithm to tuse with timestamp server |
| WorkingDirectory |
(Optional) Location of the folder containing the Vsix file |
Thanks
| |