2019-12-02 16:52:36 -05:00
|
|
|
# ASP.NET
|
|
|
|
# Build and test ASP.NET projects.
|
|
|
|
# Add steps that publish symbols, save build artifacts, deploy, and more:
|
|
|
|
# https://docs.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
|
|
|
|
|
|
|
|
trigger:
|
2019-12-03 17:28:51 -05:00
|
|
|
- '2.4-pr'
|
2019-12-02 16:52:36 -05:00
|
|
|
|
|
|
|
pool:
|
|
|
|
vmImage: 'windows-latest'
|
|
|
|
|
|
|
|
variables:
|
|
|
|
solution: 'IW4MAdmin.sln'
|
|
|
|
buildPlatform: 'Any CPU'
|
|
|
|
buildConfiguration: 'Prerelease'
|
|
|
|
outputFolder: '$(Build.ArtifactStagingDirectory)\Publish\$(buildConfiguration)'
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- task: NuGetToolInstaller@1
|
|
|
|
|
|
|
|
- task: NuGetCommand@2
|
|
|
|
inputs:
|
|
|
|
restoreSolution: '$(solution)'
|
|
|
|
|
|
|
|
- task: PowerShell@2
|
|
|
|
inputs:
|
|
|
|
targetType: 'inline'
|
2019-12-05 17:31:40 -05:00
|
|
|
script: |
|
|
|
|
md -Force lib\open-iconic\font\css
|
|
|
|
wget https://raw.githubusercontent.com/iconic/open-iconic/master/font/css/open-iconic-bootstrap.scss -o lib\open-iconic\font\css\open-iconic-bootstrap.scss
|
2019-12-02 16:52:36 -05:00
|
|
|
failOnStderr: true
|
|
|
|
workingDirectory: '$(Build.Repository.LocalPath)\WebfrontCore\wwwroot'
|
|
|
|
|
2019-12-05 18:09:35 -05:00
|
|
|
- task: VSBuild@1
|
2019-12-05 17:32:23 -05:00
|
|
|
inputs:
|
2019-12-05 18:09:35 -05:00
|
|
|
solution: '$(solution)'
|
|
|
|
msbuildArgs: '/p:DeployOnBuild=false /p:PackageAsSingleFile=false /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
|
|
|
|
platform: '$(buildPlatform)'
|
|
|
|
configuration: '$(buildConfiguration)'
|
2019-12-05 17:32:23 -05:00
|
|
|
|
2019-12-02 16:52:36 -05:00
|
|
|
- task: DotNetCoreCLI@2
|
|
|
|
inputs:
|
|
|
|
command: 'publish'
|
|
|
|
publishWebProjects: false
|
|
|
|
projects: |
|
|
|
|
**/WebfrontCore.csproj
|
|
|
|
**/Application.csproj
|
|
|
|
arguments: '-c $(buildConfiguration) -o $(outputFolder)'
|
|
|
|
zipAfterPublish: false
|
|
|
|
modifyOutputPath: false
|
2019-12-07 21:00:03 -05:00
|
|
|
|
2019-12-02 16:52:36 -05:00
|
|
|
- task: PowerShell@2
|
|
|
|
inputs:
|
|
|
|
targetType: 'inline'
|
|
|
|
script: 'wget https://raidmax.org/downloads/dos2unix.exe'
|
|
|
|
failOnStderr: true
|
|
|
|
workingDirectory: '$(Build.Repository.LocalPath)\Application\BuildScripts'
|
|
|
|
|
2019-12-07 21:11:22 -05:00
|
|
|
- task: PowerShell@2
|
|
|
|
inputs:
|
|
|
|
filePath: 'PostPublish.ps1'
|
|
|
|
arguments: '$(outputFolder)'
|
|
|
|
failOnStderr: true
|
|
|
|
workingDirectory: '$(Build.Repository.LocalPath)'
|
|
|
|
|
2019-12-09 15:01:02 -05:00
|
|
|
- task: oneLuckiDevJson2Variable@1
|
|
|
|
inputs:
|
|
|
|
jsonFile: '$(outputFolder)\VersionInformation.json'
|
|
|
|
shouldPrefixVariables: true
|
|
|
|
variablePrefix: 'VersionInformation'
|
2019-12-07 21:11:22 -05:00
|
|
|
|
2019-12-02 16:52:36 -05:00
|
|
|
- task: BatchScript@1
|
|
|
|
inputs:
|
|
|
|
filename: 'Application\BuildScripts\PostPublish.bat'
|
|
|
|
workingFolder: '$(Build.Repository.LocalPath)'
|
|
|
|
arguments: '$(outputFolder)'
|
|
|
|
failOnStandardError: true
|
|
|
|
|
|
|
|
- task: CmdLine@2
|
|
|
|
inputs:
|
|
|
|
script: |
|
|
|
|
echo changing to encoding for linux start script
|
|
|
|
dos2unix $(outputFolder)\StartIW4MAdmin.sh
|
|
|
|
workingDirectory: '$(Build.Repository.LocalPath)\Application\BuildScripts'
|
|
|
|
|
|
|
|
- task: CopyFiles@2
|
|
|
|
inputs:
|
|
|
|
SourceFolder: '$(Build.Repository.LocalPath)\Plugins\ScriptPlugins'
|
|
|
|
Contents: '*.js'
|
|
|
|
TargetFolder: '$(outputFolder)\Plugins'
|
|
|
|
|
|
|
|
- task: CopyFiles@2
|
|
|
|
inputs:
|
|
|
|
SourceFolder: '$(Build.Repository.LocalPath)\BUILD\Plugins\'
|
|
|
|
Contents: '*.dll'
|
|
|
|
TargetFolder: '$(outputFolder)\Plugins'
|
|
|
|
|
|
|
|
- task: CmdLine@2
|
|
|
|
inputs:
|
|
|
|
script: 'xcopy /s /y /f wwwroot $(outputFolder)\wwwroot'
|
|
|
|
workingDirectory: '$(Build.Repository.LocalPath)\BUILD\Plugins'
|
|
|
|
failOnStderr: true
|
|
|
|
|
|
|
|
- task: ArchiveFiles@2
|
|
|
|
inputs:
|
|
|
|
rootFolderOrFile: '$(outputFolder)'
|
|
|
|
includeRootFolder: false
|
|
|
|
archiveType: 'zip'
|
2019-12-24 16:23:43 -05:00
|
|
|
archiveFile: '$(Build.ArtifactStagingDirectory)/IW4MAdmin-$(VersionInformation.Major).$(VersionInformation.Minor)-$(buildConfiguration)$(VersionInformation.Build)r$(VersionInformation.Revision)-$(Build.BuildId).zip'
|
2019-12-02 16:52:36 -05:00
|
|
|
replaceExistingArchive: true
|
|
|
|
|
|
|
|
- task: FtpUpload@2
|
|
|
|
inputs:
|
|
|
|
credentialsOption: 'inputs'
|
|
|
|
serverUrl: '$(FTPUrl)'
|
|
|
|
username: '$(FTPUsername)'
|
|
|
|
password: '$(FTPPassword)'
|
|
|
|
rootDirectory: '$(Build.ArtifactStagingDirectory)'
|
|
|
|
filePatterns: '*.zip'
|
|
|
|
remoteDirectory: 'IW4MAdmin/Download'
|
|
|
|
clean: false
|
|
|
|
cleanContents: false
|
|
|
|
preservePaths: false
|
|
|
|
trustSSL: false
|
|
|
|
|
2019-12-27 14:45:53 -05:00
|
|
|
- task: GitHubRelease@1
|
|
|
|
inputs:
|
2019-12-27 15:01:00 -05:00
|
|
|
gitHubConnection: 'github.com_RaidMax'
|
2019-12-27 14:45:53 -05:00
|
|
|
repositoryName: 'RaidMax/IW4M-Admin'
|
|
|
|
action: 'create'
|
|
|
|
target: '$(Build.SourceVersion)'
|
|
|
|
tagSource: 'userSpecifiedTag'
|
|
|
|
tag: '$(VersionInformation.Major).$(VersionInformation.Minor)-$(buildConfiguration)$(VersionInformation.Build)r$(VersionInformation.Revision)-$(Build.BuildId)'
|
|
|
|
title: 'Version $(VersionInformation.Major).$(VersionInformation.Minor) $(buildConfiguration) $(VersionInformation.Build) Revision $(VersionInformation.Revision) Build $(Build.BuildId)'
|
|
|
|
releaseNotesFilePath: '$(Build.Repository.LocalPath)/version.txt'
|
|
|
|
assets: '$(Build.ArtifactStagingDirectory)/*.zip'
|
|
|
|
isPreRelease: true
|
|
|
|
changeLogCompareToRelease: 'lastFullRelease'
|
|
|
|
changeLogType: 'commitBased'
|
|
|
|
|
2019-12-02 16:52:36 -05:00
|
|
|
- task: PublishPipelineArtifact@1
|
|
|
|
inputs:
|
|
|
|
targetPath: '$(outputFolder)'
|
|
|
|
artifact: 'IW4MAdmin.$(buildConfiguration)'
|
|
|
|
publishLocation: 'pipeline'
|