pipeline { agent any environment { DOTNET_CLI_TELEMETRY_OPTOUT = '1' DOTNET_ROOT = '/var/jenkins_home/.dotnet' DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = '1' PATH = "${env.DOTNET_ROOT}:${env.PATH}" } stages { stage('Setup .NET') { steps { sh ''' if [ ! -f "$DOTNET_ROOT/dotnet" ]; then echo "=== Installing .NET 10 SDK ===" mkdir -p $DOTNET_ROOT curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel 10.0 --install-dir $DOTNET_ROOT fi dotnet --version ''' } } stage('Restore') { steps { echo '=== Restore NuGet Packages ===' sh 'dotnet restore' } } stage('Build') { steps { echo '=== Build Solution ===' sh 'dotnet build --no-restore' } } } post { success { echo 'Build succeeded!' } failure { echo 'Build failed!' } always { deleteDir() } } }