# ASP.NET Core (.NET Framework) # Build and test ASP.NET Core projects targeting the full .NET Framework. # Add steps that publish symbols, save build artifacts, and more: # https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core schedules: - cron: "0 */6 * * *" displayName: Daily midnight build branches: include: - master always: true trigger: branches: include: - master stages: - stage: Stage1 jobs: - job: Job1 pool: vmImage: ubuntu-latest steps: - task: UseDotNet@2 inputs: packageType: 'sdk' version: '6.x' - task: DotNetCoreCLI@2 displayName: 'restore' inputs: command: 'restore' feedsToUse: 'select' - task: DotNetCoreCLI@2 displayName: 'build' inputs: command: 'build' - task: CmdLine@2 displayName: 'publish' inputs: script: | dotnet publish - stage: Stage2 jobs: - job: Job1 pool: vmImage: windows-2019 steps: - task: SqlDacpacDeploymentOnMachineGroup@0 displayName: 'drop database' inputs: TaskType: 'sqlInline' InlineSql: | DECLARE @SQL VARCHAR(MAX); SET @SQL='' SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) FROM master..sysprocesses WHERE dbid=DB_ID('EShopSample'); EXEC(@SQL); drop DATABASE EShopSample ServerName: $(ServerName) DatabaseName: $(DatabaseName) AuthScheme: 'sqlServerAuthentication' SqlUsername: $(SqlUsername) SqlPassword: $(SqlPassword) continueOnError: true - stage: Stage3 jobs: - job: Job1 pool: vmImage: ubuntu-latest steps: - task: CmdLine@2 inputs: script: | echo commands sed -i '0,/Default[^,]*/s//$(ConnectionStrings)"/g' samples/EShopSample/aspnet-core/src/EShopSample.Web/appsettings.json echo commands executed - task: CmdLine@2 inputs: script: | echo commands sed -i '0,/Default[^,]*/s//$(ConnectionStrings)"/g' samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator/appsettings.json echo commands executed - task: UseDotNet@2 inputs: packageType: 'sdk' version: '6.x' - task: CmdLine@2 displayName: 'install dotnet-ef' inputs: script: 'dotnet tool install -g dotnet-ef' - task: CmdLine@2 displayName: 'update database' inputs: script: | dotnet ef database update --project samples/EShopSample/aspnet-core/src/EShopSample.EntityFrameworkCore/EShopSample.EntityFrameworkCore.csproj -s samples/EShopSample/aspnet-core/src/EShopSample.Web/EShopSample.Web.csproj - task: CmdLine@2 inputs: script: | cd samples/EShopSample/aspnet-core/src/EShopSample.DbMigrator dotnet run - task: Docker@2 displayName: 'build and push docker' inputs: containerRegistry: $(DockerRegistry) repository: $(repository) command: 'buildAndPush' Dockerfile: 'samples/EShopSample/aspnet-core/src/EShopSample.Web/Dockerfile' buildContext: . tags: 'latest'