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
| |