65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
# ASP.NET Core
|
|
# Build and test ASP.NET Core projects targeting .NET Core.
|
|
# Add steps that run tests, create a NuGet package, deploy, and more:
|
|
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core
|
|
|
|
trigger:
|
|
- master
|
|
|
|
pr:
|
|
- none
|
|
|
|
pool:
|
|
vmImage: 'windows-latest'
|
|
|
|
variables:
|
|
solution: '**/*.sln'
|
|
buildPlatform: 'Any CPU'
|
|
buildConfiguration: 'Release'
|
|
projectName: 'Gameboard.ShogiUI.Sockets'
|
|
|
|
steps:
|
|
|
|
- task: NuGetToolInstaller@1
|
|
|
|
- task: NuGetCommand@2
|
|
inputs:
|
|
command: 'restore'
|
|
restoreSolution: '**/*.sln'
|
|
feedsToUse: 'config'
|
|
|
|
- task: DotNetCoreCLI@2
|
|
displayName: Publish
|
|
env :
|
|
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
|
inputs:
|
|
command: 'publish'
|
|
publishWebProjects: false
|
|
projects: '**/*.csproj '
|
|
zipAfterPublish: false
|
|
|
|
- task: FileTransform@1
|
|
inputs:
|
|
folderPath: '$(System.DefaultWorkingDirectory)'
|
|
fileType: 'json'
|
|
targetFiles: '**/appsettings.json'
|
|
|
|
- task: CopyFilesOverSSH@0
|
|
displayName: SSH Copy to 1UB
|
|
inputs:
|
|
sshEndpoint: 'LucaServer'
|
|
sourceFolder: '$(System.DefaultWorkingDirectory)\$(projectName)\bin\Debug\netcoreapp3.1\publish'
|
|
targetFolder: '/var/www/api/production/$(projectName)'
|
|
contents: '**'
|
|
failOnEmptySource: true
|
|
cleanTargetFolder: true
|
|
|
|
- task: SSH@0
|
|
displayName: Restart Kestrel
|
|
inputs:
|
|
sshEndpoint: 'LucaServer'
|
|
runOptions: 'commands'
|
|
commands: 'sudo systemctl restart kestrel-gameboard.shogiui.sockets.service'
|
|
readyTimeout: '20000'
|
|
|