pipeline { agent any parameters { string(name: 'KAGGLE_USERNAME', defaultValue: 'gulczas', description: 'Kaggle username') password(name: 'KAGGLE_KEY', defaultValue: '', description: 'Kaggle API key') } stages { stage('Clone Repository') { steps { git 'https://git.wmi.amu.edu.pl/s464953/ium_464953.git' } } stage('Stop and remove existing container') { steps { script { sh "docker stop s464953 || true" sh "docker rm s464953 || true" } } } stage('Build Docker image') { steps { script { withEnv([ "KAGGLE_USERNAME=${env.KAGGLE_USERNAME}", "KAGGLE_KEY=${env.KAGGLE_KEY}" ]) { sh "docker build --build-arg KAGGLE_USERNAME=$KAGGLE_USERNAME --build-arg KAGGLE_KEY=$KAGGLE_KEY -t s464953 ." } } } } stage('Run Docker container') { steps { script { withEnv([ "KAGGLE_USERNAME=${env.KAGGLE_USERNAME}", "KAGGLE_KEY=${env.KAGGLE_KEY}" ]) { sh "docker run --name s464953 -e KAGGLE_USERNAME=$KAGGLE_USERNAME -e KAGGLE_KEY=$KAGGLE_KEY -v ${WORKSPACE}:/app s464953" } } } } stage('Archive stats.txt artifact') { steps { archiveArtifacts artifacts: 'stats.txt', allowEmptyArchive: true } } } }