ium_z487175/Jenkinsfile-evaluation

67 lines
2.4 KiB
Plaintext

pipeline{
agent any
parameters {
gitParameter(
name: 'BRANCH',
type: 'branch',
defaultValue: 'master',
description: 'Select the branch of training'
)
buildSelector(
name: 'BUILD_SELECTOR',
description: 'Which build to use for copying artifacts',
defaultSelector: lastSuccessful()
)
}
stages{
stage('Copy model artifacts with test dataset') {
steps {
script {
// Biblioteka w Jenkis automatycznie dopisuje origin przed nazwą brancha
// dlatego wprowadziłem poniższe przekształcenie
def branchName = params.BRANCH ?: 'master'
branchName = branchName.replaceFirst('origin/', '')
def myProject = "z-s487175-training/${branchName}"
copyArtifacts(
projectName: myProject,
fingerprintArtifacts: true,
selector: buildParameter('BUILD_SELECTOR')
)
}
}
}
stage('Prediction on Test Dataset'){
steps{
// Nadanie uprawnień
sh "docker run -v ${env.WORKSPACE}:/app ium chmod 777 /app/model_with_data.pickle"
// Pobranie numeru builda
script {
// Pobranie numeru builda
def buildNumber = currentBuild.number
// Uruchomienie skryptu
sh "docker run -v ${env.WORKSPACE}:/app ium python3 /app/DL-prediction.py --build-number=${buildNumber}"
}
}
}
stage('Plotly metrics chart'){
steps{
sh "docker run -v ${env.WORKSPACE}:/app ium python3 /app/metrics-chart.py"
}
}
stage('Archive prediction results'){
steps{
sh "docker cp \$(docker ps -l -q):/app/results_prediction.csv ${env.WORKSPACE}"
sh "docker cp \$(docker ps -l -q):/app/metrics.csv ${env.WORKSPACE}"
sh "docker cp \$(docker ps -l -q):/app/metrics_chart_plot.png ${env.WORKSPACE}"
archiveArtifacts artifacts: 'results_prediction.csv, metrics.csv, metrics_chart_plot.png', fingerprint: true
}
}
}
}