pipeline { agent { dockerfile true } parameters { gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH' buildSelector( defaultSelector: lastSuccessful(), description: 'Which build to use for copying artifacts', name: 'BUILD_SELECTOR' ) string( defaultValue: 'none', description: 'Last mean absolute error of the model', name: 'LAST_MAE' ) } stages { stage('Stage 1') { steps { git branch: "${params.BRANCH}", url: 'https://git.wmi.amu.edu.pl/s449288/ium_s449288.git' sh 'chmod u+x ./evaluate.py' echo 'Copying datasets from the create-dataset job...' copyArtifacts filter: 'lego_sets_clean_test.csv', projectName: 's449288-create-dataset' echo 'Datasets copied' echo 'Copying model from the training job...' copyArtifacts filter: 'lego_reg_model.tar.gz', projectName: 's449288-training/master/', selector: buildParameter('BUILD_SELECTOR') echo 'Model copied' sh 'tar xvzf lego_reg_model.tar.gz' echo 'Optional copying of the metrics file from previous build...' copyArtifacts filter: 'eval_results.txt', projectName: 's449288-evaluation/master/', optional: true echo 'Metrics file copied if it did not exist' echo 'Evaluating model...' sh 'python3 evaluate.py' echo 'Model evaluated. Metrics saved. Plot saved.' sh 'LAST_MAE=$(tail -1 eval_results.txt)' sh 'echo LAST_MAE' echo 'LAST_MAE' sh 'head eval_results.txt' sh 'file error_plot.jpg' echo 'Archiving metrics file...' archiveArtifacts 'eval_results.txt' echo 'File archived' } } } post { success { emailext body: 'SUCCESS - $LAST_MAE MAE', subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } failure { emailext body: 'FAILURE - $LAST_MAE MAE', subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } unstable { emailext body: 'UNSTABLE - $LAST_MAE MAE', subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } changed { emailext body: 'CHANGED - $LAST_MAE MAE', subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } } }