54 lines
1.3 KiB
Plaintext
54 lines
1.3 KiB
Plaintext
|
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", "jre7"],
|
||
|
["8.5", "jre8"],
|
||
|
["9", "jre8"],
|
||
|
]
|
||
|
def jreVersions = [
|
||
|
"jre7",
|
||
|
"jre8",
|
||
|
]
|
||
|
|
||
|
stage("Checkout") {
|
||
|
checkout scm
|
||
|
}
|
||
|
|
||
|
stage("Build") {
|
||
|
def imageVersion
|
||
|
|
||
|
versions.forEach { versions ->
|
||
|
def tomcatVersion = versions[0]
|
||
|
def jreVersion = versions[1]
|
||
|
|
||
|
def guacamoleVersion
|
||
|
def image = docker.build("", "--build-arg TOMCAT_VERSION=${tomcatVersion} --build-arg JRE_VERSION=${jreVersion} .")
|
||
|
|
||
|
image.inside("-w /tmp") {
|
||
|
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()
|
||
|
}
|
||
|
|
||
|
def imageTag = "${dockerNamespace}/${dockerBase}:${guacamoleVersion}-tomcat${tomcatVersion}-jre${jreVersion}"
|
||
|
images <<< [ image, imageFullName ]
|
||
|
}
|
||
|
}
|
||
|
|
||
|
stage("Push") {
|
||
|
images.forEach { imageData ->
|
||
|
def image = imageData[0]
|
||
|
def imageTag = imageData[1]
|
||
|
image.push(imageTag)
|
||
|
}
|
||
|
}
|
||
|
}
|