diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..97510902135a1f0f4f716c528112f6f9713fd6df --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,74 @@ + +def version = "" + +pipeline { + + environment { + registry = "hftstuttgart/modocot-openjdk11-juni5-testrunner" + registryCredential = 'Dockerhub' + dockerImage = '' + } + + agent any + + tools { + jdk 'Java11' + maven 'Maven_Home' + } + + stages { + stage('prepare') { + steps { + checkout ([ + $class: 'GitSCM', + branches: scm.branches, + extensions: scm.extensions + [[$class: 'CloneOption', noTags: false, reference: '', shallow: false]], + userRemoteConfigs: scm.userRemoteConfigs + ]) + script { + version = sh(script: 'git describe --tags --always', returnStdout: true).trim() + echo sh(script: 'env|sort', returnStdout: true) + } + + } + } + + stage('compile') { + steps { + sh 'mvn clean package' + } + } + + stage('build Docker image') { + steps { + script { + dockerImage = docker.build registry + } + } + } + + stage('push development image') { + steps { + script { + docker.withRegistry( '', registryCredential ) { + dockerImage.push("${env.GIT_BRANCH}") + } + } + } + } + + stage('release') { + when { + expression { version ==~ /[0-9]+.[0-9]+.[0-9]+/ } + } + steps { + script { + docker.withRegistry( '', registryCredential ) { + dockerImage.push("latest") + dockerImage.push("${version}") + } + } + } + } + } +} \ No newline at end of file