docker-disguised-guacamole/Jenkinsfile

56 lines
1.4 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"],
]
stage("Checkout") {
checkout scm
}
stage("Build") {
def imageVersion
versions.each { version ->
2018-05-07 18:21:37 +00:00
def tomcatVersion = version[0]
def jreVersion = version[1]
ansiColor {
def image = docker.build(
2018-05-07 18:38:21 +00:00
"${dockerNamespace}/${dockerBase}:tomcat${tomcatVersion}-${jreVersion}",
"--build-arg TOMCAT_VERSION=${tomcatVersion} --build-arg TOMCAT_JRE=${jreVersion} .")
}
def guacamoleVersion
image.inside("-w /tmp") {
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:38:21 +00:00
def imageTag = "${dockerNamespace}/${dockerBase}:${guacamoleVersion}-tomcat${tomcatVersion}-${jreVersion}"
2018-05-07 18:20:48 +00:00
images << [ image, imageFullName ]
}
}
stage("Push") {
images.each { imageData ->
def image = imageData[0]
def imageTag = imageData[1]
image.push(imageTag)
}
}
}