Azure DevOps. NET Сборка ядра и публикация sh не сохраняет данную версию приложения - PullRequest
0 голосов
/ 28 января 2020

У меня есть ASP. NET Базовое приложение, которое я публикую на выделенном сервере через Azure DevOps конвейеры сборки / выпуска.

Я управляю номером версии приложения с помощью Задача GitVersion (gittools.gitversion.gitversion-task.GitVersion@4) в сборке YAML.

Этап сборки выглядит примерно так:

- task: DotNetCoreCLI@2
  displayName: 'dotnet build'
  inputs:
    command: custom
    custom: build
    workingDirectory: src/MyAppProjectFolder
    arguments: '-p:Version=$(GitVersion.FullSemVer)'

И правильно генерирует .exe с заданным FullSemVer (я проверяю Azure рабочая папка агента)

Тогда у меня есть шаг publi sh:

- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: publish
    publishWebProjects: false
    arguments: '--output $(build.artifactstagingdirectory) --no-restore --no-build'
    workingDirectory: src/MyAppProjectFolder

По какой-то причине тот же .exe, который я нашел в C: \ agent_work \ 1 \ a \ a.zip, созданный издательством sh, НЕ имеет правильного номера версии, но общий c 1.0.0.

Если я "эмулирую" конвейеры вручную на том же сервере (с dotnet build и dotnet publish вручную через powershell, те же параметры) все работает как положено.

Что происходит? Есть ли способ, чтобы приложение сохраняло версию $ (GitVersion.FullSemVer)?

Примечание : мне пришлось добавить

- task: UseDotNet@2
  displayName: 'Use .Net Core sdk 2.1.x'
  inputs:
    packageType: sdk
    version: 2.1.x
    installationPath: $(Agent.ToolsDirectory)/dotnet
    includePreviewVersions: true

перед каждым NET Основная задача, как объяснено здесь , после обновления агентов до. NET Core 3.0 (до того, как эти сборки работали хорошо).

1 Ответ

1 голос
/ 28 января 2020

Попробуйте добавить -p:Version=$(GitVersion.FullSemVer) к аргументам для publi sh step.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...