Вы можете реорганизовать свои step{}
-блоки с помощью groovy-методов:
def stageX(boolean linux)
{
unstash 'compile-artifacts'
unstash 'dot-gradle'
if (linux) {
sh './gradlew check --stacktrace' }
else {
bat "gradlew.bat check --stacktrace" }
}
, который вы должны назвать следующим образом в step{}
:
steps
{
script { stageX( true) } // or with false for your windows agent
}
Конечно, вы можете сделать то же самое для своего вызова junit-plugin:
def junitCall()
{
junit '*/build/test-results/**/*.xml'
}
и назовите это как:
post {
always {
script { junitCall() }
}
}
Вы не выиграете много строк, но это значительно улучшит обработку кода. Если вы хотите очистить свой Jenkinsfile еще больше, вы можете поместить методы в разделяемую библиотеку, которую вы импортируете, чтобы они даже не были объявлены в вашем Jenkinsfile.