2024-03-30 11:06:57 +01:00
|
|
|
pipeline {
|
|
|
|
agent any
|
|
|
|
|
|
|
|
parameters {
|
|
|
|
string(
|
|
|
|
defaultValue: 'jakubbg',
|
|
|
|
description: 'Kaggle username',
|
|
|
|
name: 'KAGGLE_USERNAME',
|
|
|
|
trim: false
|
|
|
|
)
|
|
|
|
password(
|
|
|
|
defaultValue: 'e42b293c818e4ecd7b9365ee037af428',
|
|
|
|
description: 'Kaggle token taken from kaggle.json file, as described in https://github.com/Kaggle/kaggle-api#api-credentials',
|
|
|
|
name: 'KAGGLE_KEY'
|
|
|
|
)
|
|
|
|
string(
|
|
|
|
defaultValue: '100',
|
|
|
|
description: 'CUTOFF parameter',
|
|
|
|
name: 'CUTOFF',
|
|
|
|
trim: false
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
stages {
|
|
|
|
stage('Build image'){
|
2024-03-30 11:13:58 +01:00
|
|
|
steps{
|
2024-03-30 11:06:57 +01:00
|
|
|
checkout scm
|
|
|
|
//Pierwszy argument to tag, który zostania nadany zbudowanemu obrazowi
|
|
|
|
//Jeśli chcemy użyć Dockerfile z innej ścieżki niż ./Dockerfile, możemy ją podać jako drugi argument
|
|
|
|
def testImage = docker.build("test-image", "./Dockerfile")
|
2024-03-30 11:13:58 +01:00
|
|
|
}
|
2024-03-30 11:06:57 +01:00
|
|
|
}
|
2024-03-30 11:16:59 +01:00
|
|
|
stage('Run in container'){
|
|
|
|
docker.image('test-image').inside {
|
|
|
|
stage('Build') {
|
2024-03-30 11:06:57 +01:00
|
|
|
steps {
|
|
|
|
// Run the maven build
|
|
|
|
withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}",
|
|
|
|
"KAGGLE_KEY=${params.KAGGLE_KEY}" ]) {
|
|
|
|
sh 'echo KAGGLE_USERNAME: $KAGGLE_USERNAME'
|
|
|
|
sh 'kaggle datasets list'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('Checkout') {
|
|
|
|
steps {
|
|
|
|
// Krok: Sklonowanie repozytorium git
|
|
|
|
checkout scm
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('Execute Shell Script') {
|
|
|
|
steps {
|
|
|
|
withEnv(["CUTOFF=${params.CUTOFF}" ]) {
|
|
|
|
// Krok: Wywołanie skryptu shella
|
|
|
|
script {
|
|
|
|
sh 'chmod +x data_processing_script.sh' // Nadaj uprawnienia do wykonania skryptu
|
|
|
|
sh './data_processing_script.sh $CUTOFF' // Wykonaj skrypt
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
stage('Archive Artifacts') {
|
|
|
|
steps {
|
|
|
|
// Krok: Zarchiwizowanie artefaktów
|
|
|
|
archiveArtifacts artifacts: 'processed_data.csv', fingerprint: true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|