summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--.gitlab-ci.yml11
-rwxr-xr-xbin/docker-inject-env24
3 files changed, 33 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index a9a5aec..8462f59 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
tmp
+Dockerfile.env
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index aa62a7e..14584f4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -51,9 +51,14 @@ container_scanning:
.legacy-v1-variables:
variables:
- FEATURE_RUBY_REPORT: 'false'
- LM_REPORT_VERSION: 1
- LM_V1_CANONICALIZE: 'false'
+ DOTENV: "FEATURE_RUBY_REPORT 'false';LM_REPORT_VERSION 1;LM_V1_CANONICALIZE 'false';"
+ script:
+ - docker info
+ - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
+ - export SOURCE_IMAGE=$TMP_IMAGE
+ - export TARGET_IMAGE=$CI_REGISTRY_IMAGE:${IMAGE_TAG:-$CI_JOB_NAME}
+ - ./bin/docker-inject-env
+ - docker push $TARGET_IMAGE
QA:java-maven:
extends: .QA
diff --git a/bin/docker-inject-env b/bin/docker-inject-env
new file mode 100755
index 0000000..e404cec
--- /dev/null
+++ b/bin/docker-inject-env
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+# input:
+# SOURCE_IMAGE: Image name for the source image
+# TARGET_IMAGE: Name of image to build
+# DOTENV: The list of env variables delimited by a ;
+# e.g. DOTENV="FEATURE_RUBY_REPORT 'false';LM_REPORT_VERSION 1;"
+
+set -e
+
+cd "$(dirname "$0")/.."
+DOCKERFILE=Dockerfile.env
+
+rm -f $DOCKERFILE
+touch $DOCKERFILE
+echo "FROM $SOURCE_IMAGE" > $DOCKERFILE
+
+IFS=';' read -ra EACH_ENV <<< "$DOTENV"
+for i in "${EACH_ENV[@]}"; do
+ echo "ENV $i" >> $DOCKERFILE
+done
+
+docker pull $SOURCE_IMAGE
+docker build -t $TARGET_IMAGE -f $DOCKERFILE .