diff --git a/Jenkinsfile b/Jenkinsfile index a8472f6..9d7cd32 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,27 +1,51 @@ pipeline { agent any + parameters { + string( + defaultValue: 'karol9', + description: 'Kaggle username', + name: 'KAGGLE_USERNAME', + trim: false + ) + string( + defaultValue: '100', + description: 'Dataset cutoff size', + name: 'CUTOFF' + ) + 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('Download Dataset') { + steps { + script { + def datasetDir = 'football-semantic-segmentation' + if (!fileExists(datasetDir)) { + sh "mkdir ${datasetDir}" + } + + withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", + "KAGGLE_KEY=${params.KAGGLE_KEY}"]) { + sh "kaggle datasets download sadhliroomyprime/football-semantic-segmentation -p ${datasetDir}" + } + } + } + post { + success { + archiveArtifacts artifacts: 'football-semantic-segmentation/**', onlyIfSuccessful: true + } + } + } stage('Checkout') { steps { - // Clone the public repository - git url: 'https://git.wmi.amu.edu.pl/s495715/iumKC.git' - } - } - - stage('Run Python Script') { - steps { - // Execute the main.py script - sh 'python3 main.py' - } - } - - stage('Archive Artifacts') { - steps { - // Archive any artifacts generated by the script - // Adjust the path according to your script's output - archiveArtifacts artifacts: './football_dataset/*', fingerprint: true + git branch: 'main', url: 'https://git.wmi.amu.edu.pl/s495715/iumKC.git' } } } } + diff --git a/JenkinsfileStats b/JenkinsfileStats new file mode 100644 index 0000000..b6cdf5c --- /dev/null +++ b/JenkinsfileStats @@ -0,0 +1,38 @@ +pipeline { + agent any + + parameters { + buildSelector( + defaultSelector: lastSuccessful(), + description: 'Which build to use for copying artifacts', + name: 'BUILD_SELECTOR') + } + + stages { + stage('Checkout') { + steps { + git branch: 'main', url: 'https://git.wmi.amu.edu.pl/s495715/iumKC.git' + } + } + + stage('Copy Artifacts') { + steps { + script { + copyArtifacts fingerprintArtifacts: true, projectName: 'z-s495715-create-dataset', selector: buildParameter('BUILD_SELECTOR') + } + } + } + + stage('Execute Script') { + steps { + sh 'chmod +x calculate_stats.sh && ./calculate_stats.sh' + } + } + + stage('Archive Results') { + steps { + archiveArtifacts artifacts: 'stats.txt', onlyIfSuccessful: true + } + } + } +} diff --git a/calculate_stats.sh b/calculate_stats.sh new file mode 100644 index 0000000..f622b7b --- /dev/null +++ b/calculate_stats.sh @@ -0,0 +1 @@ +wc -l calculate_stats.sh > stats.txt \ No newline at end of file