Почему статический веб-сайт Azure Devops File Copy не копируется в корневой каталог?

У меня проблема с развертыванием моего приложения angular на статическом веб-сайте хранилища Azure. В прошлом году я создал конвейер CI/CD и использовал его несколько месяцев. В последние несколько месяцев развертывания не было, а с сегодняшним развертыванием я столкнулся с некоторыми проблемами.

Первая проблема касалась аутентификации, но мне удалось ее решить.

Со вторым я борюсь. Я запускаю конвейер выпуска, и файлы копируются, но не в корень $web-контейнера, но он создает папку prod и копирует туда файлы. Из-за этого я не могу открыть веб-сайт, поскольку он ищет файл index.html в корневой папке $web и, очевидно, не находит его, так как он находится в папке $web/prod. Я могу открыть файл, идущий по URL-адресу / prod, но затем он пытается загрузить все ресурсы из корня (а не из папки prod), и, очевидно, файлов там нет.

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

Вот мой конвейер сборки, который публикует артефакты после сборки:

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(System.DefaultWorkingDirectory)/dist/prod'
    ArtifactName: 'prod'
    publishLocation: 'Container'
    displayName: 'publish prod'

А вот задача копирования файлов:

- task: AzureFileCopy@4
  displayName: 'AzureBlob File Copy'
  inputs:
    SourcePath: '$(System.DefaultWorkingDirectory)/_angularApp CI/prod'
    azureSubscription: '***'
    Destination: AzureBlob
    storage: angularApp
    ContainerName: '$web'

Файлы находятся там после задачи PublishBuildArtifact, они копируются, но не в правильную папку ($web root). Есть у кого-нибудь идеи?

Благодарность

1 ответ

Решение

Обычно, без указания префикса Blob, содержимое указанной папки по умолчанию копируется в корень контейнера.

Проверено на моей стороне, работает хорошо:

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

Кроме того, в версииAzureFileCopy@ 3, которую я использовал здесь, вы можете попробовать использовать задачу копирования файла AzureV3.

Другие вопросы по тегам