Build latest version of Guacamole through Jenkins.

master
Icedream 2018-05-07 20:18:44 +02:00
parent 8deb2601f2
commit 22d70db73d
Signed by: icedream
GPG Key ID: 1573F6D8EFE4D0CF
2 changed files with 55 additions and 1 deletions

View File

@ -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 \

54
Jenkinsfile vendored Normal file
View File

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