diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000000..69c7931f55d --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,36 @@ +@Library("jenkins-library@main") + +import com.logicalclocks.jenkins.k8s.ImageBuilder + +properties([ + parameters([ + choice(name: 'image', choices: ['all', 'sklearnserver'], description: 'Which docker image to build'), + choice(name: 'branch', choices: ['release-0.11.2'], description: 'Which branch to build'), + ]) +]) + +node("local") { + stage('Clone repository') { + sshagent (credentials: ['id_rsa']) { + sh """ + git fetch --all + git checkout ${params.branch} + git pull + git submodule update --recursive --remote + """ + } + } + + stage('Build and push image(s)') { + version = readFile "${env.WORKSPACE}/VERSION" + withEnv(["VERSION=${version.trim()}"]) { + + if(params.image == 'all' || params.image == 'sklearnserver'){ + + def builder = new ImageBuilder(this) + m = readFile "${env.WORKSPACE}/python/sklearn-build-manifest.json" + builder.run(m) + } + } + } +} \ No newline at end of file diff --git a/python/sklearn-build-manifest.json b/python/sklearn-build-manifest.json new file mode 100644 index 00000000000..bb5ac5be999 --- /dev/null +++ b/python/sklearn-build-manifest.json @@ -0,0 +1,7 @@ +[ + { + "name": "hopsworks/sklearnserver", + "version": "env:VERSION", + "dockerFile": "python/sklearn.Dockerfile" + } +] \ No newline at end of file