From 9a93dc6b5372ba20136333860c14b05dfd87c9d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20de=20la=20R=C3=BAa=20Mart=C3=ADnez?= Date: Mon, 26 Aug 2024 10:45:16 +0200 Subject: [PATCH] [HWORKS-1555] Add Jenkins pipeline for building sklearnserver img --- Jenkinsfile | 36 ++++++++++++++++++++++++++++++ python/sklearn-build-manifest.json | 7 ++++++ 2 files changed, 43 insertions(+) create mode 100644 Jenkinsfile create mode 100644 python/sklearn-build-manifest.json 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