Ошибка: не найден пакет с указанным шаблоном: D:a1s ***.zip

#azure #azure-devops #yaml #azure-web-app-service #azure-pipelines

#azure #azure-devops #yaml #azure-web-app-service #azure-конвейеры

Вопрос:

У меня возникла проблема с развертыванием моего приложения Blazor в службу веб-приложений Azure через конвейер. Выполняются все шаги, кроме развертывания службы веб-приложений Azure.

введите описание изображения здесь

Это выдает ошибку:

 **##[error]Error: No package found with specified pattern: D:a1s***.zip<br/>Check if the package mentioned in the task is published as an artifact in the build or a previous stage and downloaded in the current job.**
  

Это проблемный конвейер YAML:

 trigger:
 - master

pool:
  vmImage: 'windows-latest'

steps:
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: '**/*.csproj'
- task: CopyFiles@2
  inputs:
    sourceFolder: $(Build.SourcesDirectory)
    targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
- task: AzureWebApp@1
  inputs:
   azureSubscription: 'Pay-As-You-Go (********-****-****-****-************)'
   appType: 'webApp'
   appName: 'Xenoprovider'
   package: '$(System.DefaultWorkingDirectory)/**/*.zip'
   deploymentMethod: 'auto'
  

Я был бы признателен, если кто-нибудь сможет помочь, я работаю в одиночку 🙂

Комментарии:

1. Где zip создан файл? в каком расположении?

2. какой файл вам нужно загрузить в веб-приложение Azure? zip-файл или razor-файл?

3. дело в том, что я не совсем уверен. Думаю, мне нужен zip-файл. Моя конечная цель — опубликовать приложение как производство (внести изменения в репозиторий, затем создать и развернуть). дело в том, что я делаю это вручную через Visual Studio -> Опубликовать действие. Но теперь я хотел бы использовать Azure DevOps для автоматизации этих процессов.

Ответ №1:

Чего вам здесь не хватает, так это публикации вашего проекта. Поэтому сначала, пожалуйста, удалите это:

 task: CopyFiles@2
  inputs:
    sourceFolder: $(Build.SourcesDirectory)
    targetFolder: $(Build.ArtifactStagingDirectory)
  

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

Пожалуйста, убедитесь, что вы также используете правильную версию ядра dotnet. Вы можете проверить это в csproj <TargetFramework>netcoreapp3.0</TargetFramework> , а затем с помощью задачи ниже убедиться, что установлена правильная версия:

 steps:
- task: UseDotNet@2
  inputs:
    version: '3.0.x'
  

Затем, пожалуйста, добавьте шаг для публикации вашего проекта, подобного этому (перед публикацией артефакта конвейера / сборки)

 - task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish
    publishWebProjects: false
    projects: '$(projectDirectory)hadar.csproj'
    arguments: '--configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: true
  

и в конце, пожалуйста, убедитесь, что вы правильно передали пакет на этом шаге

 - task: AzureWebApp@1
  displayName: Azure Web App Deploy
  inputs:
    azureSubscription: $(azureSubscription)
    appName: samplewebapp
    package: $(Build.ArtifactStagingDirectory)/**/*.zip
  

Пожалуйста, обратите внимание, что таким образом вам не нужно копировать step, потому что вы публикуете $(Build.ArtifactStagingDirectory) и ищете пакет для публикации $(Build.ArtifactStagingDirectory) , а не в $(System.DefaultWorkingDirectory)

Комментарии:

1. Спасибо. Существует одна проблема с задачей публикации: Error: The process 'C:Program Filesdotnetdotnet.exe' failed with exit code 1 за ней следует [warning]Info: Azure Pipelines hosted agents have been updated to contain .Net Core 3.x (3.1) SDK/Runtime along with 2.1. Unless you have locked down a SDK version for your project(s), 3.x SDK might be picked up which might have breaking behavior as compared to previous versions. и, наконец, [error]Dotnet command failed with non-zero exit code on the following projects : D:a1sWEBXenoproviderXenoprovider.csproj

2. Я полагаю, что я приближаюсь к решению здесь, поэтому я благодарю вас за информацию.

3. Какую версию ядра dotnet вы используете? Пожалуйста, проверьте этот сайт документа learn.microsoft.com/en-us/azure/devops/pipelines/ecosystems/… У вас есть шаг, чтобы определить версию ядра dotnet.

4. Есть ли способ проверить на портале Azre DevOps? Но в моем csproj он определяется как: ` «Microsoft. AspNetCore. Компоненты. WebAssembly» Версия =»3.2.1″ «Microsoft. AspNetCore. Компоненты. Веб-сборка. Сборка» Версия =»3.2.1″ Microsoft. AspNetCore. Компоненты. Веб-сборка. DevServer» Версия =»3.2.1″ Microsoft. AspNetCore.Http.Abstractions»`

5. Пожалуйста, проверьте <TargetFramework>netcoreapp3.0</TargetFramework> свой csproj.