docker-disguised-guacamole/Jenkinsfile

54 lines
1.3 KiB
Plaintext
Raw Normal View History

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)
}
}
}