revert Update Jenkinsfile and Dockerfile
This commit is contained in:
s464906 2024-05-26 13:44:44 +02:00
parent de3ff0ef9f
commit ac3e87e726
2 changed files with 56 additions and 6 deletions

View File

@ -1,14 +1,19 @@
FROM ubuntu:latest FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3-pip unzip coreutils RUN apt-get update && apt-get install -y \
python3-pip \
unzip \
coreutils
RUN pip install --user kaggle pandas scikit-learn tensorflow RUN pip3 install kaggle pandas scikit-learn tensorflow
WORKDIR /app WORKDIR /app
COPY ./data_processing.sh ./ COPY ./data_processing.sh ./
COPY ./model.py ./
COPY ./OrangeQualityData.csv ./ COPY ./OrangeQualityData.csv ./
COPY ./orange_quality_model_tf.h5 ./ COPY ./requirements.txt ./
COPY ./predictions_tf.json ./
CMD ["python3", "data_processing.sh"] RUN pip3 install -r requirements.txt
CMD ["python3", "model.py"]

45
Jenkinsfile vendored
View File

@ -8,6 +8,16 @@ pipeline {
defaultValue: '10000', defaultValue: '10000',
name: 'CUTOFF', name: 'CUTOFF',
description: 'Liczba wierszy do obcięcia ze zbioru danych') description: 'Liczba wierszy do obcięcia ze zbioru danych')
string(
defaultValue: '--epochs 100 --batch_size 32 --learning_rate 0.01',
name: 'TRAINING_PARAMS',
description: 'Parametry trenowania'
)
}
environment {
DATASET_PROJECT = 's123456-create-dataset'
DATA_DIR = 'data'
} }
stages { stages {
@ -16,6 +26,17 @@ pipeline {
checkout([$class: 'GitSCM', branches: [[name: '*/master']], userRemoteConfigs: [[url: 'https://git.wmi.amu.edu.pl/s464906/ium_464906']]]) checkout([$class: 'GitSCM', branches: [[name: '*/master']], userRemoteConfigs: [[url: 'https://git.wmi.amu.edu.pl/s464906/ium_464906']]])
} }
} }
stage('Copy Dataset') {
steps {
script {
copyArtifacts(
projectName: "${DATASET_PROJECT}",
selector: lastSuccessful(),
target: "${env.DATA_DIR}"
)
}
}
}
stage('Set execute permission') { stage('Set execute permission') {
steps { steps {
script { script {
@ -35,5 +56,29 @@ pipeline {
} }
} }
} }
stage('Install Dependencies') {
steps {
sh 'pip install -r requirements.txt'
}
}
stage('Train Model') {
steps {
sh "python model.py ${params.TRAINING_PARAMS}"
}
}
stage('Archive Model') {
steps {
archiveArtifacts artifacts: 'orange_quality_model_tf.h5', allowEmptyArchive: true
archiveArtifacts artifacts: 'predictions_tf.json', allowEmptyArchive: true
}
}
}
post {
always {
cleanWs()
}
} }
} }