ium_424714/Jenkinsfile-training

82 lines
2.8 KiB
Plaintext
Raw Normal View History

2023-05-07 19:12:15 +02:00
node {
stage('Preparation') {
properties([
2023-05-07 19:46:38 +02:00
pipelineTriggers([
upstream(
threshold: hudson.model.Result.SUCCESS,
upstreamProjects: 's424714-create-dataset'
)
]),
copyArtifactPermission('*'),
2023-05-07 19:12:15 +02:00
parameters([
2023-05-07 19:52:10 +02:00
buildSelector(
defaultSelector: lastSuccessful(),
description: 'Which build to use for copying artifacts',
name: 'BUILD_SELECTOR'
),
2023-05-07 19:12:15 +02:00
string(
defaultValue: '2',
description: 'Batch size for training process',
name: 'BATCH_SIZE',
trim: false
),
string(
defaultValue: '3',
description: 'Number of training epochs',
name: 'NUM_EPOCHS',
trim: false
),
string(
defaultValue: '1e-6',
description: 'Learning rate',
name: 'LR',
trim: false
),
])
])
}
stage('Git clone') {
//cloning git repo
checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 's424714', url: 'https://git.wmi.amu.edu.pl/s424714/ium_424714']]])
}
stage('Dockerfile build') {
sh "chmod +x -R ${env.WORKSPACE}"
2023-05-07 19:58:54 +02:00
copyArtifacts fingerprintArtifacts: true, projectName: 's424714-create-dataset', selector: buildParameter('BUILD_SELECTOR')
2023-05-07 19:12:15 +02:00
def dockerImage = docker.build("s424714-model")
dockerImage.inside {
2023-05-07 20:02:09 +02:00
withEnv(["TRANSFORMERS_CACHE=./.cache"]) {
stage("Docker: cloning artifacts"){
sh 'mkdir -p ./data/dataset'
sh 'mv -t ./data/dataset train.csv test.csv val.csv'
sh 'mv -t ./data True.csv Fake.csv'
}
stage("Docker: Running training model")
{
sh 'mkdir -p ./.cache'
sh 'mkdir -p ./sacred'
2023-05-07 20:02:09 +02:00
// sh ""
sh 'python ./src/main.py --train --lr=$LR --batch=$BATCH_SIZE --epochs=$NUM_EPOCHS'
sh "cp ./results/model.pt ${WORKSPACE}"
sh "cp ./results/sacred-artifacts.zip ${WORKSPACE}"
2023-05-07 20:02:09 +02:00
}
2023-05-07 19:12:15 +02:00
2023-05-07 20:02:09 +02:00
}
}
2023-05-07 19:12:15 +02:00
}
stage('Saving artefacts') {
echo 'Goodbye!'
sh 'ls'
archiveArtifacts artifacts: '*.pt, *.zip'
2023-05-07 19:12:15 +02:00
}
2023-05-10 18:27:24 +02:00
stage('Triggering eval job') {
build job: "s424714-evaluation/master", wait: false
}
2023-05-07 19:12:15 +02:00
}