Используйте новое задание на развертывание в DevOps Azure.Не могу найти артефакты - PullRequest
0 голосов
/ 06 июня 2019

Мне нужно развернуть основное приложение Asp.Net в Azure WebApp с помощью Devure Azure.

У меня есть следующий рабочий файл YAML Azure-Pipelines:

trigger:
- master

variables:
  buildConfiguration: 'Release'
  buildPlatform: 'any cpu'
  version: '0.2.0'

stages:

- stage: 'Stage1'

  jobs:

  # Previous Jobs like Build, Test, ...

  - job: 'Publish'
    pool:
      vmImage: 'Ubuntu-16.04'
    dependsOn: 'Test'
    steps:

    - task: DotNetCoreCLI@2
      displayName: 'Publish'
      inputs:
        command: publish
        publishWebProjects: false
        projects: '**/*.csproj'
        arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
        zipAfterPublish: true

    - task: PublishBuildArtifacts@1
      displayName: 'Artifact'
      inputs:
        PathtoPublish: '$(build.artifactstagingdirectory)'

    - task: AzureRmWebAppDeployment@4
        displayName: 'Deploy'
        inputs:
          package: '$(build.artifactstagingdirectory)/App.Api.zip'
          azureSubscription: 'MyName.Azure'
          appType: 'Web App On Windows'
          webAppName: 'myname-api'

Это отлично работает, но я хотел бы использовать новое Задание развертывания .

Я удалил задачу «Развернуть» и добавил ее в качестве нового задания развертывания после задания «Публикация»:

  - deployment: DeployJob
    dependsOn: 'Publish'
    pool:
      vmImage: Ubuntu-16.04
    environment: production
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureRmWebAppDeployment@4
            inputs:
              package: '$(build.artifactstagingdirectory)/App.Api.zip'
              azureSubscription: 'MyName.Azure'
              appType: 'Web App On Windows'
              webAppName: 'myname-api'

Вы видите, что AzureRmWebAppDeployment @ 4 такой же, как и раньше.

Но теперь я получаю следующую ошибку при запуске конвейера:

Download artifact to: /home/vsts/work/1/
Could not find any pipeline artifacts in the build.  

Чего мне не хватает? Как это исправить?

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

В вашем ямле формат неверный.

dependsOn: 'Publish'

Вместо этого вы можете попробовать использовать следующее.

dependsOn: Publish

Здесь зависимость должна быть объектом задания, а не строкой. В выражении, если значение является строкой, оно должно быть заключено в одинарные кавычки. Пожалуйста, обратитесь к этому документу .

0 голосов
/ 06 июня 2019

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

dependsOn: 'Publish'

Сначала вы должны опубликовать артефакт. Это шаг, который вы назвали Artifact.

Я бы также ожидал, что путь к пакету, который у вас есть, $(build.artifactstagingdirectory)/App.Api.zip, не будет работать. Вероятно, это будет где-то под $(System.DefaultWorkingDirectory).

...