diff --git a/Dockerfile b/Dockerfile index ca762b9..3352365 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ FROM ubuntu:latest RUN apt update && apt install -y figlet RUN apt install -y git RUN apt install -y python3-pip +RUN pip3 install --user setuptools RUN pip3 install --user kaggle RUN pip3 install --user pandas RUN pip3 install --user numpy @@ -12,13 +13,19 @@ RUN pip3 install --user seaborn RUN pip3 install --user sklearn RUN pip3 install --user matplotlib RUN pip3 install --user tensorflow +RUN pip3 install --user sacred RUN pip3 install --user wget +RUN pip3 install --user keras +RUN pip3 install --user GitPython +RUN pip3 install --user pymongo + WORKDIR /app +COPY ./train.py ./ +COPY ./evaluate.py ./ +COPY ./sacred1.py ./ +COPY ./sacred2.py ./ COPY ./skrypt.sh ./ COPY ./zadanie2.py ./ -COPY ./zadanie5.py ./ - -CMD ./zadanie2.py -CMD ./zadanie5.py +COPY ./zadanie5.py ./ \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index aeebecd..8fd5de5 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,40 +1,59 @@ pipeline { - agent { - dockerfile true - } - //Definijuemy parametry, które będzie można podać podczas wywoływania zadania - parameters { - string ( - defaultValue: '10000', - description: 'Obcięcie zbioru', - name: 'CUTOFF', - trim: false + agent any; + + parameters{ + buildSelector( + defaultSelector: lastSuccessful(), + description: 'Which build to use for copying artifacts', + name: 'WHICH_BUILD' + ) + string( + defaultValue: '16', + description: 'batch size', + name: 'BATCH_SIZE' + ) + string( + defaultValue: '15', + description: 'epochs', + name: 'EPOCHS' + ) } stages { - stage('Test') { - steps { - sh 'cat /etc/issue' - } - } - stage('checkout: Check out from version control') { - steps { - git credentialsId: 'f746c8e0-e974-4758-838d-1920a7b0e3dc', url: 'https://git.wmi.amu.edu.pl/s434695/ium_434695.git' - } - } - stage('sh: Shell Script') { - steps { - sh 'chmod +x skrypt.sh' - sh './skrypt.sh ${CUTOFF}' - } - } - stage('Artifacts') { - steps { - archiveArtifacts 'test.csv' - archiveArtifacts 'dev.csv' - archiveArtifacts 'train.csv' - archiveArtifacts 'obcietedane.csv' - } - } + stage('checkout') { + steps { + copyArtifacts fingerprintArtifacts: true, projectName: 's434695-create-dataset', selector: buildParameter('WHICH_BUILD') + } + } + stage('docker-training') { + steps { + script { + def img = docker.build('shroomy/ium2:1') + img.inside { + sh "python3 train.py" + sh "python3 sacred1.py" + sh "python3 sacred2.py" + + } + } + } + } + stage('archiveArtifacts') { + steps{ + archiveArtifacts 'ium_s434695/**' + archiveArtifacts 'model1' + } + } + } + post { + success { + build job: 's434695-evaluation/master' + mail body: 'SUCCESS TRAINING', subject: 's434695', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms' + } + + failure { + mail body: 'FAILURE TRAINING', subject: 's434695', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms' + } + } } \ No newline at end of file diff --git a/sacred1.py b/sacred1.py old mode 100644 new mode 100755 diff --git a/sacred2.py b/sacred2.py old mode 100644 new mode 100755 diff --git a/train.py b/train.py old mode 100644 new mode 100755