mirror of https://github.com/EasyAbp/EShop.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
124 lines
3.3 KiB
124 lines
3.3 KiB
# 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: '5.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: '5.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.DbMigrations/EShopSample.EntityFrameworkCore.DbMigrations.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'
|
|
|