pipeline { agent any stages { stage("Cleanup") { steps { cleanWs(patterns: [[pattern: '**/bin/Release', type: 'INCLUDE'], [pattern: 'output/**', type: 'INCLUDE']]) } } stage("Restore") { steps { dotnetRestore project: 'DotNetResxUtils' dotnetRestore project: 'DotNetResxUtils.Tests' } } stage("Test") { steps { dotnetTest noRestore: true, project: 'DotNetResxUtils.Tests' } } stage("Publish") { steps { dotnetPublish configuration: 'Release', outputDirectory: 'output/DotNetResxUtils/DotNetResxUtils-win-x64', project: 'DotNetResxUtils', runtime: 'win-x64', selfContained: true dotnetPublish configuration: 'Release', outputDirectory: 'output/DotNetResxUtils/DotNetResxUtils-linux-x64', project: 'DotNetResxUtils', runtime: 'linux-x64', selfContained: true fingerprint 'output/DotNetResxUtils/**/DotNetResxUtils*' tar file: "output/DotNetResxUtils-linux-x64.tar.gz", archive: true, compress: true, dir: "output/DotNetResxUtils/DotNetResxUtils-linux-x64" zip zipFile: "output/DotNetResxUtils-win-x64.zip", archive: true, dir: "output/DotNetResxUtils/DotNetResxUtils-win-x64" } } } }