node { stage('Preparation') { properties([ parameters([ string( defaultValue: 'login', description: 'Kaggle username', name: 'KAGGLE_USERNAME', trim: false ), password( defaultValue: '', description: 'Kaggle token taken from kaggle.json file, as described in https://github.com/Kaggle/kaggle-api#api-credentials', name: 'KAGGLE_KEY' ), string( defaultValue: '7999', description: 'Cut off value', name: 'CUT', trim: false ) ]) ]) } stage('checkout: Check out from version control') { checkout scm } stage('Build Docker Image') { def dockerImage = docker.build("create-dataset") withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", "KAGGLE_KEY=${params.KAGGLE_KEY}", "CUT = ${params.CUT}" ]) { sh 'docker run -v ${env.WORKSPACE}/artifacts:/app/artifacts python3 create_dataset.py $CUT' } archiveArtifacts artifacts: 'waterQuality.csv, output.txt' } }