53 lines
1.3 KiB
Groovy
53 lines
1.3 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
DOTNET_CLI_TELEMETRY_OPTOUT = '1'
|
|
DOTNET_ROOT = '/var/jenkins_home/.dotnet'
|
|
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
|
|
else
|
|
echo ".NET SDK already installed"
|
|
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 {
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|