48 lines
1.7 KiB
Groovy
48 lines
1.7 KiB
Groovy
node {
|
|
stage('Preparation') {
|
|
properties([
|
|
parameters([
|
|
string(
|
|
defaultValue: 'login',
|
|
description: 'Kaggle username',
|
|
name: 'KAGGLE_USERNAME',
|
|
trim: false
|
|
),
|
|
password(
|
|
defaultValue: '',
|
|
description: 'Kaggle token taken from kaggle.json file, as described in https://github.com/Kaggle/kaggle-api#api-credentials',
|
|
name: 'KAGGLE_KEY'
|
|
),
|
|
string(
|
|
defaultValue: '7999',
|
|
description: 'Cut off value',
|
|
name: 'CUT',
|
|
trim: false
|
|
)
|
|
])
|
|
])
|
|
}
|
|
stage('checkout: Check out from version control') {
|
|
checkout scm
|
|
}
|
|
stage('sh: Shell Script') {
|
|
// Run the maven build
|
|
withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}",
|
|
"KAGGLE_KEY=${params.KAGGLE_KEY}" ]) {
|
|
sh 'kaggle datasets download -d mssmartypants/water-quality > output.txt'
|
|
sh 'unzip -o water-quality.zip >> output.txt'
|
|
def csvFile = new File('waterQuality1.csv')
|
|
def lines = csvFile.readLines()
|
|
def cut = ${params.CUT}.toInteger()
|
|
def randomLines = new Random().with { random ->
|
|
(0..lines.size() - 1).sort { random.nextInt() }[0..(cut - 1)].collect { lines[it] }
|
|
}
|
|
def tempFile = new File('temp.csv')
|
|
tempFile.write(randomLines.join('\n'))
|
|
csvFile.text = tempFile.text
|
|
tempFile.delete()
|
|
sh 'python3 create_dataset.py >> output.txt'
|
|
archiveArtifacts artifacts: 'waterQuality.csv, output.txt'
|
|
}
|
|
}
|
|
} |