pipeline { agent any //Definijuemy parametry, które będzie można podać podczas wywoływania zadania parameters { string ( defaultValue: 'kaggletests', 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: '0', description: 'CUTOFF', name: 'CUTOFF', trim: false ) } stages { stage('clear_all') { steps { //Wypisz wartość parametru w konsoli (To nie jest polecenie bash, tylko groovy!) sh 'rm -rf *' } } stage('checkout') { steps { //Wypisz wartość parametru w konsoli (To nie jest polecenie bash, tylko groovy!) sh 'git clone https://git.wmi.amu.edu.pl/s487174/ium_z487174' } } stage('Build') { steps { // Run the maven build withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", "KAGGLE_KEY=${params.KAGGLE_KEY}" ]) { print 'DEBUG: parameter isFoo = ' + params.KAGGLE_KEY sh "export KAGGLE_USERNAME=${params.KAGGLE_USERNAME}" sh "export KAGGLE_KEY=${params.KAGGLE_KEY}" // sh 'kaggle datasets download -d bartoszpieniak/poland-cars-for-sale-dataset' // sh 'unzip archive.zip -d ./ium_z487174' } } } stage('BuildDocker') { steps { //Wypisz wartość parametru w konsoli (To nie jest polecenie bash, tylko groovy!) sh 'mkdir ./results' sh 'echo $KAGGLE_KEY' sh 'docker build -t datasets:1.0 ./ium_z487174' // sh 'pip3 install -r ./ium_z487174/requirements.txt' // sh 'python3 ./ium_z487174/dataset.py' } } stage('RunDocker') { steps { sh "docker run -e KAGGLE_USERNAME=$KAGGLE_USERNAME -e KAGGLE_KEY=$KAGGLE_KEY -v /var/lib/jenkins/workspace/z-s487174-create-dataset/results:/app/results datasets:1.0" } } stage('Goodbye!') { steps { echo 'Goodbye!' //Zarchiwizuj wynik //archiveArtifacts 'output.txt' archiveArtifacts 'results/train_data.csv, results/dev_data.csv, results/test_data.csv' } } } }