pipeline{ agent any parameters { gitParameter( name: 'BRANCH', type: 'branch', defaultValue: 'master', description: 'Select the branch of training' ) buildSelector( name: 'BUILD_SELECTOR', description: 'Which build to use for copying artifacts', defaultSelector: lastSuccessful() ) } stages{ stage('Copy model artifacts with test dataset') { steps { script { // Biblioteka w Jenkis automatycznie dopisuje origin przed nazwą brancha // dlatego wprowadziłem poniższe przekształcenie def branchName = params.BRANCH ?: 'master' branchName = branchName.replaceFirst('origin/', '') def myProject = "z-s487175-training/${branchName}" copyArtifacts( projectName: myProject, fingerprintArtifacts: true, selector: buildParameter('BUILD_SELECTOR') ) } } } stage('Prediction on Test Dataset'){ steps{ // Nadanie uprawnień sh "docker run -v ${env.WORKSPACE}:/app ium chmod 777 /app/model_with_data.pickle" // Pobranie numeru builda script { // Pobranie numeru builda def buildNumber = currentBuild.number // Uruchomienie skryptu sh "docker run -v ${env.WORKSPACE}:/app ium python3 /app/DL-prediction.py --build-number=${buildNumber}" } } } stage('Archive prediction results'){ steps{ sh "docker cp \$(docker ps -l -q):/app/results_prediction.csv ${env.WORKSPACE}" sh "docker cp \$(docker ps -l -q):/app/metrics.csv ${env.WORKSPACE}" archiveArtifacts artifacts: 'results_prediction.csv, metrics.csv', fingerprint: true } } } }