Build latest version of Guacamole through Jenkins.
parent
8deb2601f2
commit
22d70db73d
|
@ -32,7 +32,7 @@ ARG TOMCAT_JRE=jre8
|
|||
FROM maven:3-jdk-8 AS builder
|
||||
|
||||
ARG GUACAMOLE_GIT_URL=https://github.com/apache/guacamole-client.git
|
||||
ARG GUACAMOLE_VERSION=0.9.14
|
||||
ARG GUACAMOLE_VERSION=latest
|
||||
|
||||
# Build environment variables
|
||||
ENV \
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
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)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue