node { stage('Preparation') { properties([ pipelineTriggers([ // TODO change auto run after train upstream( threshold: hudson.model.Result.SUCCESS, upstreamProjects: 's424714-create-dataset' ) ]), copyArtifactPermission('*'), parameters([ buildSelector( defaultSelector: lastSuccessful(), description: 'Which build to use for copying artifacts', name: 'BUILD_SELECTOR' ), ]) ]) } 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 copyArtifacts filter: '*', projectName: 's424714-training/train' // copyArtifacts fingerprintArtifacts: true, projectName: 's424714-create-dataset', selector: buildParameter('BUILD_SELECTOR') def dockerImage = docker.build("s424714-model") dockerImage.inside { withEnv(["TRANSFORMERS_CACHE=./.cache"]) { stage("Docker: cloning artifacts"){ 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 training model") { sh 'mkdir -p ./.cache' // sh "" sh 'python ./src/main.py --test ' sh "cp ./results/*.csv ${WORKSPACE}" } } } } stage('Saving artefacts') { echo 'Goodbye!' sh 'ls' archiveArtifacts artifacts: '*.csv' } stage('Drawing plot') { plot csvFileName: 'plot-accuracy.csv', csvSeries: [[ file: 'acc.csv', exclusionValues: '', displayTableFlag: false, inclusionFlag: 'OFF', url: '']], group: 'Plot Group', title: 'Accuracy', style: 'line', exclZero: false, keepRecords: false, logarithmic: false, numBuilds: '', useDescr: false, yaxis: '', yaxisMaximum: '', yaxisMinimum: '' } }