ium_487187/Jenkinsfile
Jakub Zaręba 11d77b707e asdf
2023-04-04 19:39:35 +02:00

99 lines
3.6 KiB
Groovy

pipeline {
agent {
dockerfile {
filename 'Dockerfile'
args '-u root:root'
registryUrl 'https://hub.docker.com/repository/docker/s487187/ium'
}
}
stages {
stage('Preparation') {
when { expression { true } }
steps {
script {
try {
properties([
parameters([
string(
defaultValue: '',
description: 'Kaggle username',
name: 'KAGGLE_USERNAME',
trim: false
),
password(
defaultValue: '',
description: 'Kaggle token taken from kaggle.json file',
name: 'KAGGLE_KEY'
),
string(
defaultValue: '50',
description: 'number of examples in dataset',
name: 'CUTOFF'
)
])
])
} catch (err) {
error "Failed to set up parameters: ${err.message}"
}
}
}
}
stage('Build') {
when { expression { params.KAGGLE_USERNAME && params.KAGGLE_KEY } }
steps {
script {
try {
withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}",
"KAGGLE_KEY=${params.KAGGLE_KEY}" ]) {
sh 'echo KAGGLE_USERNAME: $KAGGLE_USERNAME'
sh '''
#!/bin/bash
pip install kaggle
kaggle datasets download -d nitishsharma01/olympics-124-years-datasettill-2020
unzip -o olympics-124-years-datasettill-2020.zip
echo "Processed Data" > output.txt
python3 /app/scripts/stats.py -i olympics-124-years-datasettill-2020/Athletes_summer_games.csv -o output.txt
'''
sh "head -n ${params.CUTOFF} olympics-124-years-datasettill-2020/Athletes_summer_games.csv"
}
} catch (err) {
error "Failed to build: ${err.message}"
}
}
}
}
stage('Clone Git Repository') {
when { expression { params.KAGGLE_USERNAME && params.KAGGLE_KEY } }
steps {
script {
try {
git 'https://git.wmi.amu.edu.pl/s487187/ium_487187.git'
} catch (err) {
error "Failed to clone repository: ${err.message}"
}
}
}
}
stage('End') {
when { expression { params.KAGGLE_USERNAME && params.KAGGLE_KEY } }
steps {
echo 'Program ended!'
}
}
}
post {
always {
node {
archiveArtifacts 'output.txt'
}
}
}
}