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 'flutter pub publish -f --skip-validation' sh 'git clone git@github.com:ariascreations/ServerCode' sh 'rsync -a --progress -h --delete doc/api/ ServerCode/api.zontreck.com/dartdocs/libac/' dir('ServerCode') { sh 'git add --all .' sh 'git commit -m "[BOT] Publish LibAC DartDocs"' sh 'git push --all' } sh 'rm -rf ServerCode' } } } post { always { archiveArtifacts artifacts: 'docs.tgz', onlyIfSuccessful: true } } }