pipeline { agent { dockerfile { filename 'Dockerfile' customWorkspace '/app' privileged true } } parameters { string ( defaultValue: 'vskyper', 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', ) } stages { stage('env') { steps { sh 'id' sh 'whoami' sh 'pwd' } } stage('Run create-dataset script') { steps { withEnv (["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", "KAGGLE_KEY=${params.KAGGLE_KEY}"]) { sh 'mkdir /.kaggle' sh 'echo "{\"username\":\"$KAGGLE_USERNAME\",\"key\":\"$KAGGLE_KEY\"}" > /.kaggle/kaggle.json' sh 'chmod 600 /.kaggle/kaggle.json' sh 'chmod +x create-dataset.py' sh 'python3 ./create-dataset.py' } } } stage('Archive Artifacts') { steps { archiveArtifacts artifacts: '/data/*', onlyIfSuccessful: true } } } }