2018-05-07 18:18:44 +00:00
|
|
|
node("docker && linux && amd64") {
|
|
|
|
def images = []
|
|
|
|
def dockerNamespace = "icedream"
|
|
|
|
def dockerBase = "disguised-guacamole"
|
|
|
|
def dockerCredentials = "dockerhub_login_icedream"
|
|
|
|
def dockerRegistry = ""
|
|
|
|
def versions = [
|
|
|
|
// syntax: [ tomcatVersion, jreVersion ]
|
|
|
|
["8.5", "jre8"],
|
|
|
|
["9", "jre8"],
|
|
|
|
]
|
|
|
|
|
|
|
|
stage("Checkout") {
|
|
|
|
checkout scm
|
|
|
|
}
|
|
|
|
|
|
|
|
stage("Build") {
|
|
|
|
def imageVersion
|
|
|
|
|
2018-05-07 18:24:47 +00:00
|
|
|
versions.each { version ->
|
2018-05-07 18:21:37 +00:00
|
|
|
def tomcatVersion = version[0]
|
|
|
|
def jreVersion = version[1]
|
2018-05-07 18:45:57 +00:00
|
|
|
def image
|
2018-05-07 18:18:44 +00:00
|
|
|
|
2018-05-07 18:31:54 +00:00
|
|
|
ansiColor {
|
2018-05-07 18:45:57 +00:00
|
|
|
image = docker.build(
|
2018-05-07 18:38:21 +00:00
|
|
|
"${dockerNamespace}/${dockerBase}:tomcat${tomcatVersion}-${jreVersion}",
|
2018-05-07 18:39:07 +00:00
|
|
|
"--build-arg TOMCAT_VERSION=${tomcatVersion} --build-arg TOMCAT_JRE=${jreVersion} .")
|
2018-05-07 18:31:54 +00:00
|
|
|
}
|
|
|
|
|
2018-05-07 18:18:44 +00:00
|
|
|
def guacamoleVersion
|
|
|
|
image.inside("-w /tmp") {
|
2018-05-07 18:31:54 +00:00
|
|
|
ansiColor {
|
|
|
|
sh """
|
|
|
|
unzip /opt/guacamole/guacamole.war META-INF/maven/org.apache.guacamole/guacamole/pom.properties
|
|
|
|
"""
|
|
|
|
guacamoleVersion = sh(
|
|
|
|
script: "grep -Po '(?i)^version=\\K.+\\s*\$' META-INF/maven/org.apache.guacamole/guacamole/pom.properties",
|
|
|
|
returnStdout: true,
|
|
|
|
).trim()
|
|
|
|
}
|
2018-05-07 18:18:44 +00:00
|
|
|
}
|
|
|
|
|
2018-05-07 18:38:21 +00:00
|
|
|
def imageTag = "${dockerNamespace}/${dockerBase}:${guacamoleVersion}-tomcat${tomcatVersion}-${jreVersion}"
|
2018-05-07 18:20:48 +00:00
|
|
|
images << [ image, imageFullName ]
|
2018-05-07 18:18:44 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
stage("Push") {
|
2018-05-07 18:24:47 +00:00
|
|
|
images.each { imageData ->
|
2018-05-07 18:18:44 +00:00
|
|
|
def image = imageData[0]
|
|
|
|
def imageTag = imageData[1]
|
|
|
|
image.push(imageTag)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|