From d82f45e1ee27651fa71bfd0435687da6258789f3 Mon Sep 17 00:00:00 2001 From: s464903 Date: Sat, 30 Mar 2024 11:06:57 +0100 Subject: [PATCH] Add Jenkinsfile3 --- Jenkinsfile3 | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Jenkinsfile3 diff --git a/Jenkinsfile3 b/Jenkinsfile3 new file mode 100644 index 0000000..0f39413 --- /dev/null +++ b/Jenkinsfile3 @@ -0,0 +1,71 @@ +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'){ + 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") + } + stage('Build') { + 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('Run in container'){ + docker.image('test-image').inside { + 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 + } + } + } + } + + } + +} \ No newline at end of file