mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-15 10:18:45 +00:00
using Github releases to build Docker images
This commit is contained in:
+1
-1
@@ -13,7 +13,7 @@ RUN apt-get update \
|
|||||||
&& apt-get install -y vim telnet dnsutils net-tools jq
|
&& apt-get install -y vim telnet dnsutils net-tools jq
|
||||||
COPY vimrc /root/.vimrc
|
COPY vimrc /root/.vimrc
|
||||||
RUN wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem \
|
RUN wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem \
|
||||||
&& keytool -importcert -alias AWSRDS -file /tmp/rds.pem -keystore /opt/java/openjdk/jre/lib/security/cacerts -noprompt -storepass changeit \
|
&& ${JAVA_HOME}/bin/keytool -importcert -alias AWSRDS -file /tmp/rds.pem -keystore ${JAVA_HOME}/jre/lib/security/cacerts -noprompt -storepass changeit \
|
||||||
&& rm /tmp/rds.pem
|
&& rm /tmp/rds.pem
|
||||||
COPY ${RELEASE}.tar.gz /tmp
|
COPY ${RELEASE}.tar.gz /tmp
|
||||||
RUN tar xzvpf /tmp/${RELEASE}.tar.gz \
|
RUN tar xzvpf /tmp/${RELEASE}.tar.gz \
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
FROM sapmachine:11.0.17
|
FROM sapmachine:11.0.17
|
||||||
|
# This Dockerfile assumes that the release to use is provided as
|
||||||
|
# ${RELEASE}.tar.gz in the current Docker workspace. Use, e.g.,
|
||||||
|
# the configuration/github-download-release-assets.sh script to
|
||||||
|
# obtain the tar.gz file for a specific or the latest "main" release.
|
||||||
ARG RELEASE
|
ARG RELEASE
|
||||||
LABEL maintainer=axel.uhl@sap.com
|
LABEL maintainer=axel.uhl@sap.com
|
||||||
# Download and extract the release
|
# Download and extract the release
|
||||||
@@ -9,8 +13,8 @@ COPY vimrc /root/.vimrc
|
|||||||
RUN wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem \
|
RUN wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem \
|
||||||
&& ${JAVA_HOME}/bin/keytool -importcert -alias AWSRDS -file /tmp/rds.pem -keystore ${JAVA_HOME}/lib/security/cacerts -noprompt -storepass changeit \
|
&& ${JAVA_HOME}/bin/keytool -importcert -alias AWSRDS -file /tmp/rds.pem -keystore ${JAVA_HOME}/lib/security/cacerts -noprompt -storepass changeit \
|
||||||
&& rm /tmp/rds.pem
|
&& rm /tmp/rds.pem
|
||||||
RUN wget -O /tmp/${RELEASE}.tar.gz http://releases.sapsailing.com/${RELEASE}/${RELEASE}.tar.gz \
|
COPY ${RELEASE}.tar.gz /tmp
|
||||||
&& tar xzvpf /tmp/${RELEASE}.tar.gz \
|
RUN tar xzvpf /tmp/${RELEASE}.tar.gz \
|
||||||
&& rm /tmp/${RELEASE}.tar.gz
|
&& rm /tmp/${RELEASE}.tar.gz
|
||||||
COPY env.sh .
|
COPY env.sh .
|
||||||
RUN cat env-default-rules.sh >>env.sh
|
RUN cat env-default-rules.sh >>env.sh
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
FROM sapmachine:17.0.11
|
FROM sapmachine:17.0.11
|
||||||
|
# This Dockerfile assumes that the release to use is provided as
|
||||||
|
# ${RELEASE}.tar.gz in the current Docker workspace. Use, e.g.,
|
||||||
|
# the configuration/github-download-release-assets.sh script to
|
||||||
|
# obtain the tar.gz file for a specific or the latest "main" release.
|
||||||
ARG RELEASE
|
ARG RELEASE
|
||||||
LABEL maintainer=axel.uhl@sap.com
|
LABEL maintainer=axel.uhl@sap.com
|
||||||
# Download and extract the release
|
# Download and extract the release
|
||||||
@@ -9,8 +13,8 @@ COPY vimrc /root/.vimrc
|
|||||||
RUN wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem \
|
RUN wget -O /tmp/rds.pem https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem \
|
||||||
&& ${JAVA_HOME}/bin/keytool -importcert -alias AWSRDS -file /tmp/rds.pem -keystore ${JAVA_HOME}/lib/security/cacerts -noprompt -storepass changeit \
|
&& ${JAVA_HOME}/bin/keytool -importcert -alias AWSRDS -file /tmp/rds.pem -keystore ${JAVA_HOME}/lib/security/cacerts -noprompt -storepass changeit \
|
||||||
&& rm /tmp/rds.pem
|
&& rm /tmp/rds.pem
|
||||||
RUN wget -O /tmp/${RELEASE}.tar.gz http://releases.sapsailing.com/${RELEASE}/${RELEASE}.tar.gz \
|
COPY ${RELEASE}.tar.gz /tmp
|
||||||
&& tar xzvpf /tmp/${RELEASE}.tar.gz \
|
RUN tar xzvpf /tmp/${RELEASE}.tar.gz \
|
||||||
&& rm /tmp/${RELEASE}.tar.gz
|
&& rm /tmp/${RELEASE}.tar.gz
|
||||||
COPY env.sh .
|
COPY env.sh .
|
||||||
RUN cat env-default-rules.sh >>env.sh
|
RUN cat env-default-rules.sh >>env.sh
|
||||||
|
|||||||
@@ -1,26 +1,31 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
release=$1
|
release_prefix=$1
|
||||||
if [ "${release}" = "" ]; then
|
|
||||||
SET_LATEST=1
|
|
||||||
release=$(wget -O - http://releases.sapsailing.com/ 2>/dev/null | grep 'sapmachine11-[0-9]\{10\}' | tail -1 | sed -e 's/^.*\(sapmachine11-[0-9]*\).*$/\1/')
|
|
||||||
echo Latest release is ${release}
|
|
||||||
fi
|
|
||||||
GITROOT="`dirname $0`/.."
|
GITROOT="`dirname $0`/.."
|
||||||
DOCKERDIR="${GITROOT}/docker"
|
DOCKERDIR="${GITROOT}/docker"
|
||||||
DOCKERFILE="$DOCKERDIR/Dockerfile"
|
DOCKERFILE="$DOCKERDIR/Dockerfile"
|
||||||
FILES_TO_COPY_FROM_JAVA_TARGET="env.sh start configuration/JavaSE-11.profile"
|
if [ "${release_prefix}" = "" ]; then
|
||||||
echo "Copying files from GITROOT $GITROOT into Docker workspace"
|
SET_LATEST=1
|
||||||
for f in ${FILES_TO_COPY_FROM_JAVA_TARGET}; do
|
release_prefix="docker-11-"
|
||||||
cp "${GITROOT}/java/target/${f}" "$DOCKERDIR"
|
|
||||||
done
|
|
||||||
cd "$DOCKERDIR"
|
|
||||||
docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} -f Dockerfile_sapsailing_on_sapmachine11 .
|
|
||||||
echo "Cleaning up..."
|
|
||||||
for f in ${FILES_TO_COPY_FROM_JAVA_TARGET}; do
|
|
||||||
rm "`basename ${f}`"
|
|
||||||
done
|
|
||||||
docker push ghcr.io/sap/sailing-analytics:${release}
|
|
||||||
if [ "$SET_LATEST" = "1" ]; then
|
|
||||||
docker tag ghcr.io/sap/sailing-analytics:${release} ghcr.io/sap/sailing-analytics:latest-11
|
|
||||||
docker push ghcr.io/sap/sailing-analytics:latest-11
|
|
||||||
fi
|
fi
|
||||||
|
pushd "${DOCKERDIR}"
|
||||||
|
RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" )
|
||||||
|
if [ "${RELEASE_TAR_GZ_FILENAME}" = "" ]; then
|
||||||
|
echo "No release with prefix ${release_prefix} found" >&2
|
||||||
|
else
|
||||||
|
release=$( echo ${RELEASE_TAR_GZ_FILENAME} | sed -e 's/\.tar\.gz//' )
|
||||||
|
echo Release is ${release}
|
||||||
|
echo "Copying files from GITROOT $GITROOT into Docker workspace"
|
||||||
|
cp "$GITROOT/java/target/env.sh" "$DOCKERDIR"
|
||||||
|
cp "$GITROOT/java/target/start" "$DOCKERDIR"
|
||||||
|
cp "$GITROOT/java/target/configuration/JavaSE-11.profile" "$DOCKERDIR"
|
||||||
|
cd "$DOCKERDIR"
|
||||||
|
docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} -f Dockerfile_sapsailing_on_sapmachine11 .
|
||||||
|
echo "Cleaning up..."
|
||||||
|
rm start env.sh JavaSE-11.profile ${RELEASE_TAR_GZ_FILENAME} release-notes.txt
|
||||||
|
docker push ghcr.io/sap/sailing-analytics:${release}
|
||||||
|
if [ "$SET_LATEST" = "1" ]; then
|
||||||
|
docker tag ghcr.io/sap/sailing-analytics:${release} ghcr.io/sap/sailing-analytics:latest-11
|
||||||
|
docker push ghcr.io/sap/sailing-analytics:latest-11
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
|||||||
@@ -1,26 +1,31 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
release=$1
|
release_prefix=$1
|
||||||
if [ "${release}" = "" ]; then
|
|
||||||
SET_LATEST=1
|
|
||||||
release=$(wget -O - http://releases.sapsailing.com/ 2>/dev/null | grep 'sapmachine17-[0-9]\{10\}' | tail -1 | sed -e 's/^.*\(sapmachine17-[0-9]*\).*$/\1/')
|
|
||||||
echo Latest release is ${release}
|
|
||||||
fi
|
|
||||||
GITROOT="`dirname $0`/.."
|
GITROOT="`dirname $0`/.."
|
||||||
DOCKERDIR="${GITROOT}/docker"
|
DOCKERDIR="${GITROOT}/docker"
|
||||||
DOCKERFILE="$DOCKERDIR/Dockerfile"
|
DOCKERFILE="$DOCKERDIR/Dockerfile"
|
||||||
FILES_TO_COPY_FROM_JAVA_TARGET="env.sh start configuration/JavaSE-11.profile"
|
if [ "${release_prefix}" = "" ]; then
|
||||||
echo "Copying files from GITROOT $GITROOT into Docker workspace"
|
SET_LATEST=1
|
||||||
for f in ${FILES_TO_COPY_FROM_JAVA_TARGET}; do
|
release_prefix="docker-17-"
|
||||||
cp "${GITROOT}/java/target/${f}" "$DOCKERDIR"
|
|
||||||
done
|
|
||||||
cd "$DOCKERDIR"
|
|
||||||
docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} -f Dockerfile_sapsailing_on_sapmachine17 .
|
|
||||||
echo "Cleaning up..."
|
|
||||||
for f in ${FILES_TO_COPY_FROM_JAVA_TARGET}; do
|
|
||||||
rm "`basename ${f}`"
|
|
||||||
done
|
|
||||||
docker push ghcr.io/sap/sailing-analytics:${release}
|
|
||||||
if [ "$SET_LATEST" = "1" ]; then
|
|
||||||
docker tag ghcr.io/sap/sailing-analytics:${release} ghcr.io/sap/sailing-analytics:latest-17
|
|
||||||
docker push ghcr.io/sap/sailing-analytics:latest-17
|
|
||||||
fi
|
fi
|
||||||
|
pushd "${DOCKERDIR}"
|
||||||
|
RELEASE_TAR_GZ_FILENAME=$( ${GITROOT}/configuration/github-download-release-assets.sh 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 "${release_prefix}" )
|
||||||
|
if [ "${RELEASE_TAR_GZ_FILENAME}" = "" ]; then
|
||||||
|
echo "No release with prefix ${release_prefix} found" >&2
|
||||||
|
else
|
||||||
|
release=$( echo ${RELEASE_TAR_GZ_FILENAME} | sed -e 's/\.tar\.gz//' )
|
||||||
|
echo Release is ${release}
|
||||||
|
echo "Copying files from GITROOT $GITROOT into Docker workspace"
|
||||||
|
cp "$GITROOT/java/target/env.sh" "$DOCKERDIR"
|
||||||
|
cp "$GITROOT/java/target/start" "$DOCKERDIR"
|
||||||
|
cp "$GITROOT/java/target/configuration/JavaSE-11.profile" "$DOCKERDIR"
|
||||||
|
cd "$DOCKERDIR"
|
||||||
|
docker build --build-arg RELEASE=${release} -t ghcr.io/sap/sailing-analytics:${release} -f Dockerfile_sapsailing_on_sapmachine17 .
|
||||||
|
echo "Cleaning up..."
|
||||||
|
rm start env.sh JavaSE-11.profile ${RELEASE_TAR_GZ_FILENAME} release-notes.txt
|
||||||
|
docker push ghcr.io/sap/sailing-analytics:${release}
|
||||||
|
if [ "$SET_LATEST" = "1" ]; then
|
||||||
|
docker tag ghcr.io/sap/sailing-analytics:${release} ghcr.io/sap/sailing-analytics:latest-17
|
||||||
|
docker push ghcr.io/sap/sailing-analytics:latest-17
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
popd
|
||||||
|
|||||||
Reference in New Issue
Block a user