Skip to content

Instantly share code, notes, and snippets.

@laurentkempe
Last active March 5, 2019 17:27
Show Gist options
  • Save laurentkempe/dcc375c8bd03fb0367b5b6835464b45c to your computer and use it in GitHub Desktop.
Save laurentkempe/dcc375c8bd03fb0367b5b6835464b45c to your computer and use it in GitHub Desktop.
Azure DevOps for Visual Studio Extensions
steps:
- task: gep13.chocolatey-azuredevops.chocolatey-azuredevops.ChocolateyCommand@0
displayName: 'Chocolatey push'
inputs:
command: push
pushWorkingDirectory: '$(System.DefaultWorkingDirectory)/_GitDiffMargin CI/GitDiffMargin'
pushNupkgFileName: 'GitDiffMargin.$(Build.BuildNumber).nupkg'
pushApikey: 'YOUR_API_KEY'
steps:
- task: GitHubRelease@0
displayName: 'GitHub release (create)'
inputs:
gitHubConnection: laurentkempe
repositoryName: laurentkempe/GitDiffMargin
title: 'v$(Build.BuildNumber)'
assets: '$(System.DefaultWorkingDirectory)/_GitDiffMargin CI/GitDiffMargin/GitDiffMargin.vsix'
isDraft: true
# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
pool:
vmImage: 'VS2017-Win2016'
variables:
patch: $[counter('versioncounter', 0)]
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
name: 3.9.3.$(patch)
steps:
- task: NuGetToolInstaller@0
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: bleddynrichards.Assembly-Info-Task.Assembly-Info-Task.Assembly-Info-NetFramework@2
displayName: 'Update Assembly Version'
inputs:
VersionNumber: '$(Build.BuildNumber)'
FileVersionNumber: '$(Build.BuildNumber)'
InformationalVersion: '$(Build.BuildNumber)'
- task: VsixToolsUpdateVersion@1
displayName: 'Update Vsix Version'
inputs:
FileName: $(Build.SourcesDirectory)\$(system.teamProject).Extension\source.extension.vsixmanifest
VersionNumber: '$(Build.BuildNumber)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: CopyFiles@2
displayName: 'Copy Artifacts to Staging'
inputs:
contents: '**\?(*.vsix|extension-manifest.json|README-Marketplace.md)'
targetFolder: '$(Build.ArtifactStagingDirectory)'
flattenFolders: true
- task: CopyFiles@2
displayName: 'Copy Vsix to Chocolatey'
inputs:
contents: '**\?(*.vsix)'
targetFolder: '$(Build.Repository.LocalPath)/ChocolateyPackage/GitDiffMargin/tools/'
flattenFolders: true
- task: gep13.chocolatey-azuredevops.chocolatey-azuredevops.ChocolateyCommand@0
displayName: 'Chocolatey pack'
inputs:
packWorkingDirectory: '$(Build.Repository.LocalPath)/ChocolateyPackage/GitDiffMargin/'
packNuspecFileName: GitDiffMargin.nuspec
packVersion: '$(Build.BuildNumber)'
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: '$(system.teamProject)'
steps:
- task: ms-devlabs.vsts-developer-tools-build-tasks.publish-vs-extension-build-task.PublishVSExtension@1
displayName: 'Publish Visual Studio Extension'
inputs:
connectedServiceName: 'Visual Studio Marketplace'
vsixFile: '$(System.DefaultWorkingDirectory)/_GitDiffMargin CI/GitDiffMargin/GitDiffMargin.vsix'
rootFolder: '$(System.DefaultWorkingDirectory)/_GitDiffMargin CI/GitDiffMargin'
publisherId: LaurentKempe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment