diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 00000000000..066636650dc --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,39 @@ +@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: ['', 'master', 'release-0.11.2'], description: 'Which branch to build'), + ]) +]) + +node("local") { + stage('Clone repository') { + if (params.branch == '' || params.branch == 'master'){ + checkout scm + } else { + sshagent (credentials: ['id_rsa']) { + sh """ + git fetch --all + git checkout ${params.branch} + git pull + """ + } + } + } + + 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/VERSION b/VERSION new file mode 100644 index 00000000000..0c89fc927e3 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +4.0.0 \ 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..d52063d878c --- /dev/null +++ b/python/sklearn-build-manifest.json @@ -0,0 +1,7 @@ +[ + { + "name": "hopsworks/sklearnserver", + "version": "env:VERSION", + "dockerFile": "python/sklearn.Dockerfile" + } +]