pf-AzDotNetBuild.ps1
function Set-AzPipeline_Build_Version { Write-AzPipeline_log -message "Changing location to $scriptFolder" Set-AzPipeline_Variable -name "step_folder" -value $scriptFolder function Install-nbgv { # https://github.com/dotnet/Nerdbank.GitVersioning/blob/master/doc/nbgv-cli.md nbgv get-version --help nbgv set-version 1.0.5 } if (-not (Get-Command nbgv -ErrorAction SilentlyContinue)) { dotnet tool install -g nbgv } $step_repositoryUrl = git remote get-url --push origin Set-AzPipeline_Variable -name "step_repositoryUrl" -value $step_repositoryUrl $step_version = nbgv get-version -v Version Set-AzPipeline_Variable -name "step_version" -value $step_version $step_gitHash = git rev-parse HEAD Set-AzPipeline_Variable -name "step_gitHash" -value $step_gitHash $step_SourceRevisionId = $step_gitHash.Substring(0,10) Set-AzPipeline_Variable -name "step_sourceRevisionId" -value $step_SourceRevisionId Set-AzPipeline_BuildNumber -value ($env:BUILD_BUILDNUMBER + "+" + $step_version) } function Invoke-DotNet_Build { Get-ChildItem -filter *.nupkg -Recurse | Remove-Item -Verbose dotnet build -p:Version=$step_version -p:SourceRevisionId=$step_SourceRevisionId ` -p:RepositoryUrl=$step_repositoryUrl -p:RepositoryType=git ` -p:RepositoryBranch=master dotnet test } function Publish-Nuget { $toPublish = Get-ChildItem -filter *.nupkg -Recurse $nugetApiKey = Get-SecureKey -name "nuget.org-ApiKey" # Goto https://www.nuget.org/account/apikeys # to get a new key # Set-SecureKey -name "nuget.org-ApiKey" -secureKey $nugetApiKey $toPublish | ForEach-Object { dotnet nuget push $_.FullName -k $nugetApiKey -s https://api.nuget.org/v3/index.json --skip-duplicate } } function Invoke-Project_Build { Set-AzPipeline_Build_Version Invoke-DotNet_Build Publish-Nuget } |