ium_z487174/Jenkinsfile

88 lines
3.2 KiB
Groovy

pipeline {
agent any
stages {
stage('Preparation') {
steps {
script {
properties([
parameters([
string(
defaultValue: 'tomaszkoszarek',
description: 'Kaggle username',
name: 'KAGGLE_USERNAME',
trim: false
),
password(
defaultValue: 'ac7b81c3063c249f931f6aabd4cca7ed',
description: 'Kaggle token taken from kaggle.json file, as described in https://github.com/Kaggle/kaggle-api#api-credentials',
name: 'KAGGLE_KEY'
),
string(
defaultValue: '',
description: 'Set cutoff',
name: 'CUTOFF',
trim: false
)
])
])
}
}
}
stage('Kaggle') {
steps {
script {
withEnv(["KAGGLE_USERNAME=${params.KAGGLE_USERNAME}",
"KAGGLE_KEY=${params.KAGGLE_KEY}" ]) {
sh 'echo KAGGLE_USERNAME: $KAGGLE_USERNAME'
}
}
}
}
stage('Checkout') {
steps {
git branch: 'master', url: 'https://git.wmi.amu.edu.pl/s487174/ium_z487174.git'
}
}
stage('Upgrade library') {
steps {
sh 'pip install --upgrade urllib3 chardet'
sh 'pip install --upgrade pyopenssl'
}
}
stage('Download from kaggle') {
steps {
sh 'kaggle datasets download -d bartoszpieniak/poland-cars-for-sale-dataset > output.txt'
sh 'unzip -o archive.zip >> output.txt'
// przypisanie uprawnień
sh 'chmod +x Jenkinsfile_create_dataset'
}
}
stage('Build image') {
steps {
//Tworzenie obrazu
sh 'docker build --no-cache -t ium -f dockerfile .'
}
}
stage('Run scripts in container') {
steps {
script {
// Uruchamia instancje obrazu ium i uruchomienie skryptu w kontenerze
sh "docker run -e CUTOFF=${params.CUTOFF} ium python3 /app/Jenkinsfile_create_dataset >> output.txt"
}
}
}
stage('Archive file') {
steps {
// Zapisanie zbioru danych i podziału danych na podzbiory jako artfefakty
sh "docker cp \$(docker ps -l -q):/app/data ${env.WORKSPACE}"
archiveArtifacts artifacts: 'output.txt, data/Car_sale_ads.csv', fingerprint: true
}
}
}
// post {
// success {
// build job: 'z-s487174-training/master', wait: false
// }
// }
}