はじめて YAML でビルド定義したけど簡単でびっくりしました。これは XAML より記述少なくていいわ…。
pool: vmImage: 'VS2017-Win2016' variables: solution: '**/*.sln' projects: '**/*.csproj' testProjects: '**/*Tests.csproj' buildConfiguration: 'release' mainProject: 'path to function app csproj file(ex: Hoge/Hoge.csproj))' steps: - task: DotNetCoreCLI@2 inputs: command: 'restore' projects: '$(projects)' - task: DotNetCoreCLI@2 inputs: command: 'build' - task: DotNetCoreCLI@2 inputs: command: 'test' projects: '$(testProjects)' arguments: '--configuration $(buildConfiguration) --collect "Code coverage"' - script: dotnet publish --output $(Build.BinariesDirectory) --configuration $(buildConfiguration) $(mainProject) - task: ArchiveFiles@2 inputs: rootFolderOrFile: $(Build.BinariesDirectory) includeRootFolder: false archiveFile: $(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip - task: PublishBuildArtifacts@1
こうするとビルドID.zipというファイルが出来るので、あとは Release のパイプラインで Deploy Azure App Service の v4 系(まだプレビュー)から Run-From-Zip に対応してるっぽいので、それでさくっとデプロイ出来ます。
割といい感じっぽい。