props/Jenkinsfile

59 lines
2.9 KiB
Groovy

pipeline {
agent any
stages {
stage("Props.Shop") {
stages {
stage("Restore") {
steps {
dotnetRestore project: "Props.Shop/Props.Shop.sln"
dotnetRestore project: "Props.Shop/Props.Shop.Tests.sln"
}
}
stage("Test") {
steps {
dotnetTest noRestore: true, project: "Props.Shop/Props.Shop.Tests.sln", unstableIfErrors: true, unstableIfWarnings: true
}
}
stage("Publish") {
steps {
dotnetPublish configuration: 'Release', noRestore: true, project: 'Props.Shop/Props.Shop.sln', selfContained: false, unstableIfWarnings: true
archiveArtifacts artifacts: 'Props.Shop/**/bin/Release/**/publish/Props.Shop.*', excludes: 'Props.Shop/*.Tests/**/*, **/Props.Shop.Framework.*', fingerprint: true, followSymlinks: false, onlyIfSuccessful: true
archiveArtifacts artifacts: 'Props.Shop/Framework/bin/Release/**/publish/Props.Shop.Framework.*', fingerprint: true, followSymlinks: false, onlyIfSuccessful: true
sh "python3 scripts/load_shop_modules.py"
}
}
}
}
stage("Props") {
stages {
stage("Restore") {
steps {
dotnetRestore project: "Props"
dotnetRestore project: "Props.Tests"
}
}
stage("Test") {
steps {
dotnetTest noRestore: true, project: "Props.Tests", unstableIfErrors: true, unstableIfWarnings: true
}
}
stage("Publish") {
steps {
dotnetPublish configuration: 'Release', noRestore: true, project: 'Props', sdk: 'Default .NET SDK'
dotnetPublish configuration: 'Release', project: 'Props', runtime: 'win-x64', sdk: 'Default .NET SDK', selfContained: true
archiveArtifacts artifacts: 'Props/bin/Release/**/publish/Props*', excludes: '**/Props.Shop.Framework.*', fingerprint: true, followSymlinks: false, onlyIfSuccessful: true
}
}
}
}
stage("cleanup") {
steps {
dotnetClean project: 'Props/', sdk: 'Default .NET SDK'
dotnetClean project: 'Props.Tests/', sdk: 'Default .NET SDK'
dotnetClean project: 'Props.Shop/Props.Shop.sln', sdk: 'Default .NET SDK'
dotnetClean project: 'Props.Shop/Props.Shop.Tests.sln', sdk: 'Default .NET SDK'
cleanWs(patterns: [[pattern: '**/bin/Release', type: 'INCLUDE']])
}
}
}
}