node { checkout scm docker.image('s444452/ium:1.3').inside { stage('Preparation') { properties([ pipelineTriggers([upstream(threshold: hudson.model.Result.SUCCESS, upstreamProjects: "s444452-create-dataset")]), parameters([ string( defaultValue: ".", description: 'Arguments for model training: arg1,arg2,arg3', name: 'TRAIN_ARGS' ) ]) ]) } stage('Copy artifacts') { copyArtifacts filter: 'train_data.csv', fingerprintArtifacts: true, projectName: 's444452-create-dataset' copyArtifacts filter: 'test_data.csv', fingerprintArtifacts: true, projectName: 's444452-create-dataset' copyArtifacts filter: 'dev_data.csv', fingerprintArtifacts: true, projectName: 's444452-create-dataset' } stage('Run script') { withEnv(["TRAIN_ARGS=${params.TRAIN_ARGS}"]) { sh "python3 Scripts/train_neural_network.py $TRAIN_ARGS" } } stage('Archive artifacts') { archiveArtifacts "neural_network_evaluation.txt, model/**" } } post { success { emailext body: 'SUCCESS', subject: 's444452-training', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } unstable { emailext body: 'UNSTABLE', subject: 's444452-training', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } failure { emailext body: 'FAILURE', subject: 's444452-training', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } not_built { emailext body: 'NOT_BUILT', subject: 's444452-training', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } aborted { emailext body: 'ABORTED', subject: 's444452-training', to: 'e19191c5.uam.onmicrosoft.com@emea.teams.ms' } } }