pipeline { agent { label 'linux' } options { buildDiscarder( logRotator( numToKeepStr: '5' ) ) } stages { stage('Build') { steps { sh 'dart doc' sh 'tar -cvf docs.tgz doc/api/*' } } stage('Deploy') { steps { sh 'dart pub publish -f --skip-validation' } } } post { always { archiveArtifacts artifacts: 'docs.tgz', onlyIfSuccessful: true } } }