70 lines
1.9 KiB
Groovy
70 lines
1.9 KiB
Groovy
pipeline {
|
|
agent any
|
|
parameters {
|
|
string (
|
|
name: 'KAGGLE_USERNAME',
|
|
defaultValue: 'ardenw',
|
|
description: 'Kaggle username'
|
|
)
|
|
password (
|
|
name: 'API_KEY',
|
|
defaultValue: '',
|
|
description: 'Kaggle API key'
|
|
)
|
|
string (
|
|
name: 'DATA_TRAIN_RATIO',
|
|
defaultValue: '80',
|
|
description: 'Train data ratio percentage'
|
|
)
|
|
string (
|
|
name: 'CUTOFF',
|
|
defaultValue: '500',
|
|
description: 'Cutoff value'
|
|
)
|
|
}
|
|
stages {
|
|
stage('Checkout repository') {
|
|
steps {
|
|
checkout scm
|
|
}
|
|
}
|
|
stage('Download dataset') {
|
|
steps {
|
|
withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}", "KAGGLE_KEY=${params.KAGGLE_KEY}"]) {
|
|
sh "kaggle datasets download -d nikhil7280/student-performance-multiple-linear-regression --unzip"
|
|
}
|
|
}
|
|
}
|
|
stage('Prepare dataset') {
|
|
agent {
|
|
dockerfile {
|
|
filename 'Dockerfile'
|
|
reuseNode true
|
|
}
|
|
}
|
|
|
|
steps {
|
|
sh "chmod +x ./get_dataset.py"
|
|
sh "python ./get_dataset.py"
|
|
archiveArtifacts artifacts: 'dataset.csv,df_train.csv,df_test.csv', onlyIfSuccessful: true
|
|
}
|
|
}
|
|
stage("Prediction") {
|
|
agent {
|
|
dockerfile {
|
|
filename 'Dockerfile'
|
|
reuseNode true
|
|
}
|
|
}
|
|
|
|
steps {
|
|
sh "chmod +x ./train.py"
|
|
sh "chmod +x ./predict.py"
|
|
sh "python ./train.py"
|
|
sh "python ./predict.py"
|
|
archiveArtifacts artifacts: 'model.keras,predictions.txt', onlyIfSuccessful: true
|
|
}
|
|
}
|
|
}
|
|
}
|