Сборка и выпуск функции Azure для включения файла function.json - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь настроить конвейер CI / CD для нашей версии 1.x Azure.Функция Azure запускается служебной шиной Azure, и эти конфигурации (тема и подписка) находятся в файле function.json.У нас мало установок этой функции Azure, и мы хотим как-то изменить файл function.json в DevOps Azure во время сборки / выпуска.

Это «устаревшая работа», поэтому у нас нет прежнего конвейера CI / CDв Azure DevOps.Ранее это было развернуто вручную из Visual Studio.Теперь я настроил конфигурации сборки и выпуска для DevOps Azure, но они не работают должным образом: файлы не развертываются, как раньше.

Рабочая версия развернута следующим образом:

wwwroot
 | - bin
 | | - dlls
 | | - de, es, fr, etc. folders
 | - MyFunction
 | | - function.json
 | - appsettings.json
 | - host.json
 | - packages.config
 | - Web.config

Сейчасмоя попытка развертывания из Azure DevOps развертывает его так:

 wwwroot
 | - dlls
 | - host.json
 | - de, es, fr, etc. folders

В нем есть только "папка bin" и отсутствует файл function.json.

Как мне собрать /развернуть функцию Azure в DevOps Azure, чтобы развернуть ее, как ранее, с файлом function.json и папкой bin? Я пробовал несколько различных команд сборки dotnet и публикации dotnet в конвейере сборки.В конвейере выпуска для развертывания я использовал задачу развертывания службы приложений Azure.

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Случайно я решил это сам.Я запускаю задачу Visual Studio Build со следующими параметрами:

/p:DeployOnBuild=true
/p:WebPublishMethod=Package
/p:SkipInvalidConfigurations=true
/p:DesktopBuildPackageLocation="$(build.artifactstagingdirectory)/package/"
/p:DeployIisAppPath="Default Web Site"
/p:OutputPath="$(build.artifactstagingdirectory)/out/"

DesktopBuildPackageLocation строит ее так, как я хочу $(Build.ArtifactStagingDirectory)/package/WantedOutputPackage.zip.Затем я публикую этот пакет как артефакт.

0 голосов
/ 21 января 2019

Как мне создать / развернуть функцию Azure в DevOps Azure, чтобы развернуть ее, как ранее, с файлом function.json и папкой bin?

Я мог бы правильно развернуть функцию Azure с помощью CI / CD Azure Devops, подробно описаны следующие шаги:

1. Файл yaml задачи сборки выглядит следующим образом:

queue:
  name: Hosted VS2017
  demands: 
  - msbuild
  - visualstudio

steps:
- task: NuGetToolInstaller@0
  displayName: 'Use NuGet 4.3.0'


- task: NuGetCommand@2
  displayName: 'NuGet restore'


- task: VSBuild@1
  displayName: 'Build solution **\*.sln'


- task: CopyFiles@2
  displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
  inputs:
    SourceFolder: 'FunctionApp2\bin\debug\net461'

    TargetFolder: '$(build.artifactstagingdirectory)'


- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'

Дизайнер пользовательского интерфейса и структуры проекта см. На скриншоте.

enter image description here

2. Выпущенная информация о задаче: я использую задачу [Развернуть службу приложений Azure] и выбираю тип приложения: Приложение функции. Более подробную информацию см. На скриншоте

enter image description here

...