pipeline {
agent any
triggers {
upstream(upstreamProjects: "s426206-create-dataset",
threshold: hudson.model.Result.SUCCESS)
}
parameters {
string(
defaultValue: '',
description: 'Parametry trenowania.',
name: 'PARAMETRY',
trim: false)
buildSelector(
defaultSelector: lastSuccessful(),
description: 'Which build to use for copying artifacts',
name: 'BUILD_SELECTOR')
}
stages {
stage('checkout') {
steps {
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[url: 'https://git.wmi.amu.edu.pl/s426206/ium_426206.git']]])
}
}
stage('Copy artifact') {
steps {
copyArtifacts filter: 'train_dataset.pt,val_dataset.pt', fingerprintArtifacts: false, projectName: 's426206-create-dataset', selector: buildParameter('BUILD_SELECTOR')
}
}
stage('docker') {
steps {
script {
def img = docker.build('rokoch/ium:01')
img.inside {
sh 'rm -rf my_model'
//sh 'chmod +x dlgssdpytorch.py'
//sh 'python3 ./dlgssdpytorch.py $PARAMETRY'
sh 'chmod +x start_dlgssdpytorch.sh'
sh './start_dlgssdpytorch.sh $PARAMETRY'
sh 'chmod +x train_mlflow.py'
sh 'python3 ./train_mlflow.py $PARAMETRY'
//sh 'mlflow run --experiment-name s426206 .' //Uruchamiany projekt nie moze znajdowac sie w katalogach z wielkimi literami.
sh 'chmod +x generate_MLmodel.py'
sh 'python3 ./generate_MLmodel.py $PARAMETRY'
}
}
}
}
stage('end') {
steps {
//Zarchiwizuj wynik
archiveArtifacts 'model.pt, my_runs/**/*, my_model/**/*'
}
}
}
post {
success {
//Wysłanie maila
emailext body: 'Success train',
subject: 's426206 train',
to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
//Uruchamianie innego zadania
build job: 's426206-evaluation/master', parameters: [string(name: 'BUILD_SELECTOR_TRAINING', value: ''), string(name: 'BUILD_SELECTOR_DATASET', value: ''), string(name: 'BUILD_SELECTOR_EVALUATION', value: ''), gitParameter(name: 'BRANCH', value: 'master')]
}
unstable {
emailext body: 'Unstable train', subject: 's426206 train', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
}
failure {
emailext body: 'Failure train', subject: 's426206 train', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
}
changed {
emailext body: 'Changed train', subject: 's426206 train', to: '26ab8f35.uam.onmicrosoft.com@emea.teams.ms'
}
}
}