ium_424714/Jenkinsfile-eval

104 lines
4.3 KiB
Plaintext

node {
stage('Preparation') {
properties([
// pipelineTriggers([
// // TODO change auto run after train
// upstream(
// threshold: hudson.model.Result.SUCCESS,
// upstreamProjects: 's424714-create-dataset'
// )
// ]),
// copyArtifactPermission('*'),
parameters([
// gitParameter branchFilter: 'origin/(.*)', defaultValue: 'master', name: 'BRANCH', type: 'PT_BRANCH',
gitParameter(branch: '',
branchFilter: 'origin/(.*)',
defaultValue: 'master',
description: '',
name: 'BRANCH',
quickFilterEnabled: false,
selectedValue: 'NONE',
sortMode: 'NONE',
tagFilter: '*',
type: 'PT_BRANCH'),
buildSelector(
defaultSelector: lastSuccessful(),
description: 'Which build to use for copying artifacts',
name: 'BUILD_SELECTOR'
),
buildSelector(
defaultSelector: lastSuccessful(),
description: 'Which build of train to use for copying artifacts',
name: 'BUILD_SELECTOR_TRAINING'
),
])
])
}
stage('Git clone') {
//cloning git repo
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 's424714', url: 'https://git.wmi.amu.edu.pl/s424714/ium_424714']]])
}
stage('Dockerfile build') {
sh "chmod +x -R ${env.WORKSPACE}"
copyArtifacts fingerprintArtifacts: true, projectName: 's424714-create-dataset', selector: buildParameter('BUILD_SELECTOR')
//TODO from train
sh "echo git parameter: ${params.BRANCH}"
copyArtifacts filter: '*', projectName: "s424714-training/${params.BRANCH}", selector: buildParameter('BUILD_SELECTOR_TRAINING')
// copyArtifacts filter('*.csv') projectName: env.JOB_NAME, selector: specific(env.BUILD_NUMBER)
// copyArtifacts fingerprintArtifacts: true, projectName: 's424714-create-dataset', selector: buildParameter('BUILD_SELECTOR')
def dockerImage = docker.image("s424714-model:latest")
dockerImage.inside {
withEnv(["TRANSFORMERS_CACHE=./.cache","MPLCONFIGDIR=./.cache"]) {
stage("Docker: cloning artifacts"){
script {
if (currentBuild.previousBuild) {
try {
copyArtifacts(projectName: currentBuild.projectName,
selector: specific("${currentBuild.previousBuild.number}"))
echo("The current build is ${currentBuild.number}")
sh 'mkdir -p ./results/'
sh 'mv acc.csv ./results/acc.csv'
} catch(err) {
echo("NOT FOUND previos acc artifacts")
// ignore error
}
}
}
sh 'mkdir -p ./data/dataset'
sh 'mv -t ./data/dataset train.csv test.csv val.csv'
sh 'mv -t ./data True.csv Fake.csv'
sh 'mkdir -p ./results/'
sh 'mv model.pt ./results/model.pt'
}
stage("Docker: Running evaluation model")
{
sh 'mkdir -p ./.cache'
sh "echo ${currentBuild.number}"
sh "python ./src/main.py --test --build_id=${currentBuild.number} "
sh "cat results/acc.csv"
sh 'python ./src/plot.py '
sh "cp ./results/*.csv ${WORKSPACE}"
sh "cp ./results/*.png ${WORKSPACE}"
}
}
}
}
stage('Saving artefacts') {
echo 'Goodbye!'
sh 'ls'
archiveArtifacts artifacts: '*.csv, *.png'
}
}