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
|
FROM maven:3-jdk-8 AS builder
|
||||||
|
|
||||||
ARG GUACAMOLE_GIT_URL=https://github.com/apache/guacamole-client.git
|
ARG GUACAMOLE_GIT_URL=https://github.com/apache/guacamole-client.git
|
||||||
ARG GUACAMOLE_VERSION=0.9.14
|
ARG GUACAMOLE_VERSION=latest
|
||||||
|
|
||||||
# Build environment variables
|
# Build environment variables
|
||||||
ENV \
|
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