ium_s449288/lab6/Jenkinsfile_eval

62 lines
2.6 KiB
Plaintext
Raw Normal View History

2022-04-24 15:07:23 +02:00
pipeline {
agent {
2022-05-05 21:03:48 +02:00
dockerfile {
dir 'lab6'
}
2022-04-24 15:07:23 +02:00
}
2022-04-26 14:56:10 +02:00
parameters {
2022-04-27 00:28:00 +02:00
gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH'
2022-04-26 19:17:10 +02:00
buildSelector(
defaultSelector: lastSuccessful(),
description: 'Which build to use for copying artifacts',
name: 'BUILD_SELECTOR'
)
2022-04-26 14:56:10 +02:00
}
2022-04-24 15:07:23 +02:00
stages {
stage('Stage 1') {
steps {
2022-04-26 15:06:50 +02:00
git branch: "${params.BRANCH}", url: 'https://git.wmi.amu.edu.pl/s449288/ium_s449288.git'
2022-05-12 22:30:38 +02:00
sh 'chmod u+x ./lab6/evaluate.py'
2022-04-25 22:07:19 +02:00
echo 'Copying datasets from the create-dataset job...'
2022-05-12 22:30:38 +02:00
copyArtifacts filter: 'lab6/lego_sets_clean_test.csv', projectName: 's449288-create-dataset'
2022-04-25 22:07:19 +02:00
echo 'Datasets copied'
echo 'Copying model from the training job...'
2022-05-12 22:30:38 +02:00
copyArtifacts filter: 'lab6/lego_reg_model.tar.gz', projectName: "s449288-training/${BRANCH}/", selector: buildParameter('BUILD_SELECTOR')
2022-04-25 22:07:19 +02:00
echo 'Model copied'
2022-05-12 22:30:38 +02:00
sh 'tar xvzf lab6/lego_reg_model.tar.gz'
2022-04-25 22:07:19 +02:00
echo 'Optional copying of the metrics file from previous build...'
2022-05-12 22:30:38 +02:00
copyArtifacts filter: 'lab6/eval_results.txt', projectName: 's449288-evaluation/master/', optional: true
2022-04-25 22:53:03 +02:00
echo 'Metrics file copied if it did not exist'
2022-04-25 22:07:19 +02:00
echo 'Evaluating model...'
2022-05-12 22:30:38 +02:00
sh 'python3 lab6/evaluate.py'
2022-04-25 22:07:19 +02:00
echo 'Model evaluated. Metrics saved. Plot saved.'
2022-05-12 22:30:38 +02:00
sh 'head lab6/eval_results.txt'
sh 'file lab6/error_plot.jpg'
2022-04-25 22:07:19 +02:00
echo 'Archiving metrics file...'
2022-05-12 22:30:38 +02:00
archiveArtifacts 'lab6/eval_results.txt'
2022-04-25 22:07:19 +02:00
echo 'File archived'
2022-04-26 22:36:30 +02:00
script {
LAST_MAE = sh (
2022-05-12 22:30:38 +02:00
script: 'tail -1 lab6/eval_results.txt',
2022-04-26 22:36:30 +02:00
returnStdout: true
).trim()
}
2022-04-24 15:07:23 +02:00
}
}
2022-04-24 17:51:33 +02:00
}
2022-04-25 22:07:19 +02:00
post {
2022-04-24 17:51:33 +02:00
success {
2022-04-26 23:04:58 +02:00
emailext body: "SUCCESS - ${LAST_MAE} MAE", subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
2022-04-24 17:51:33 +02:00
}
failure {
2022-04-26 23:04:58 +02:00
emailext body: "FAILURE - ${LAST_MAE} MAE", subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
2022-04-24 17:51:33 +02:00
}
unstable {
2022-04-26 23:04:58 +02:00
emailext body: "UNSTABLE - ${LAST_MAE} MAE", subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
2022-04-24 17:51:33 +02:00
}
changed {
2022-04-26 23:04:58 +02:00
emailext body: "CHANGED - ${LAST_MAE} MAE", subject: 's449288-evaluation build status', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms'
2022-04-24 15:07:23 +02:00
}
2022-04-24 17:51:33 +02:00
}
2022-05-12 22:30:38 +02:00
}