Я настроил конвейер сборки для библиотеки моделей, которая используется несколькими моими проектами. Я получаю к нему доступ через приватный канал в Azure DevOps, и он работает просто отлично. Я могу получить библиотеку в Visual Studio, и все мои проекты получают самую последнюю версию. Однако в ленте находятся все библиотеки зависимостей, используемые в библиотеке моделей (например, Microsoft. Azure .Storage.Blob, System.Threading, Microsoft.AspNetCore и др. c.). Я не смог найти никаких указаний на то, почему это происходит, ожидаемое ли это поведение или я что-то напортачу. Мой YAML-файл для конвейера сборки приведен ниже:
Кроме того, кто-нибудь знает, как лучше управлять версиями пакетов? Это кажется очень странным, но это был единственный способ заставить работать версии с автоинкрементом.
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
name: $(projectName)-$(majorMinorVersion).$(semanticVersion)
pool:
vmImage: 'windows-latest'
# pipeline variables
variables:
majorMinorVersion: 1.1
# semanticVersion counter is automatically incremented by one in each execution of pipeline
# second parameter is seed value to reset to every time the referenced majorMinorVersion is changed
semanticVersion: $[counter(variables['majorMinorVersion'], 0)]
projectName: 'MyProject.Models'
buildConfiguration: 'Release'
projectPath: 'Shared/MyProject.Models.csproj'
fullVersion: '$(majorMinorVersion).$(semanticVersion)'
steps:
# show version number on start
- task: Bash@3
inputs:
targetType: 'inline'
script: |
echo Building $(projectName)-$(fullVersion)
- task: DotNetCoreCLI@2
inputs:
command: 'pack'
packagesToPack: $(projectPath)
versioningScheme: 'byEnvVar'
versionEnvVar: 'fullVersion'
- task: DotNetCoreCLI@2
inputs:
command: 'push'
packagesToPush: '$(Build.ArtifactStagingDirectory)/MyProject.Models*.nupkg'
nuGetFeedType: 'internal'
publishVstsFeed: '<feed GUID>'