From 8e19a8a9e849883e47daa4873d6c992537eaa9e1 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 11:39:41 -0600 Subject: rename script to docker-dotenv --- bin/docker-dotenv | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 bin/docker-dotenv (limited to 'bin/docker-dotenv') diff --git a/bin/docker-dotenv b/bin/docker-dotenv new file mode 100755 index 0000000..e404cec --- /dev/null +++ b/bin/docker-dotenv @@ -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 . -- cgit v1.2.3 From fa501723ff51d5d0cfd4e345c249d2c0ddc77814 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 11:50:34 -0600 Subject: read .env files instead of hardcoding in .gitlab-ci.yml file --- .dockerignore | 1 + .env.12-3-stable | 3 +++ .env.legacy | 4 ++++ .gitlab-ci.yml | 13 +++++++------ bin/docker-dotenv | 8 ++++---- 5 files changed, 19 insertions(+), 10 deletions(-) create mode 100644 .env.12-3-stable create mode 100644 .env.legacy (limited to 'bin/docker-dotenv') diff --git a/.dockerignore b/.dockerignore index 6b8710a..1d4e811 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ .git +.env.* diff --git a/.env.12-3-stable b/.env.12-3-stable new file mode 100644 index 0000000..edb6a67 --- /dev/null +++ b/.env.12-3-stable @@ -0,0 +1,3 @@ +FEATURE_RUBY_REPORT 'true' +LM_REPORT_VERSION 1 +LM_V1_CANONICALIZE 'false' diff --git a/.env.legacy b/.env.legacy new file mode 100644 index 0000000..bba5f11 --- /dev/null +++ b/.env.legacy @@ -0,0 +1,4 @@ +FEATURE_RUBY_REPORT 'false' +LM_PYTHON_VERSION 2.7 +LM_REPORT_VERSION 1 +LM_V1_CANONICALIZE 'false' diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 14584f4..8ce16d4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,9 +49,7 @@ container_scanning: - results/ when: always -.legacy-v1-variables: - variables: - DOTENV: "FEATURE_RUBY_REPORT 'false';LM_REPORT_VERSION 1;LM_V1_CANONICALIZE 'false';" +.dotenv: script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY @@ -60,6 +58,11 @@ container_scanning: - ./bin/docker-inject-env - docker push $TARGET_IMAGE +.legacy-v1-variables: + extends: .dotenv + variables: + DOTENV: ".env.legacy" + QA:java-maven: extends: .QA variables: @@ -179,9 +182,7 @@ latest: 12-3-stable: extends: .release variables: - FEATURE_RUBY_REPORT: 'true' - LM_REPORT_VERSION: 1 - LM_V1_CANONICALIZE: 'false' + DOTENV: ".env.legacy" 12-2-stable: extends: .release diff --git a/bin/docker-dotenv b/bin/docker-dotenv index e404cec..1c9544d 100755 --- a/bin/docker-dotenv +++ b/bin/docker-dotenv @@ -15,10 +15,10 @@ 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 +while IFS= read -r line; do + echo "ENV $line" >> $DOCKERFILE +done < $DOTENV docker pull $SOURCE_IMAGE docker build -t $TARGET_IMAGE -f $DOCKERFILE . +docker run $TARGET_IMAGE env -- cgit v1.2.3 From cc75be07e97c73ab7da419912abbc123c756312d Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 11:51:29 -0600 Subject: update example documentation --- bin/docker-dotenv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin/docker-dotenv') diff --git a/bin/docker-dotenv b/bin/docker-dotenv index 1c9544d..3bc9818 100755 --- a/bin/docker-dotenv +++ b/bin/docker-dotenv @@ -3,8 +3,8 @@ # 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;" +# DOTENV: The name of the .env.* file that contains the default env vars to export. +# e.g. DOTENV=".env.12-3-stable" set -e -- cgit v1.2.3 From f18510931631146f25e6d5c5dc010edee9ad3e3a Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 11:54:58 -0600 Subject: print temporary dockerfile content --- bin/docker-dotenv | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin/docker-dotenv') diff --git a/bin/docker-dotenv b/bin/docker-dotenv index 3bc9818..5f4b96c 100755 --- a/bin/docker-dotenv +++ b/bin/docker-dotenv @@ -19,6 +19,12 @@ while IFS= read -r line; do echo "ENV $line" >> $DOCKERFILE done < $DOTENV +echo "Pulling... $SOURCE_IMAGE" docker pull $SOURCE_IMAGE + +echo "Building... $DOCKERFILE" +cat $DOCKERFILE docker build -t $TARGET_IMAGE -f $DOCKERFILE . + +echo "Verifying env..." docker run $TARGET_IMAGE env -- cgit v1.2.3 From 5e87e4ebaef6edd8ae7250a71dead5f5b2a1a506 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 14:57:30 -0600 Subject: override the entrypoint --- bin/docker-dotenv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin/docker-dotenv') diff --git a/bin/docker-dotenv b/bin/docker-dotenv index 5f4b96c..bfe1369 100755 --- a/bin/docker-dotenv +++ b/bin/docker-dotenv @@ -27,4 +27,4 @@ cat $DOCKERFILE docker build -t $TARGET_IMAGE -f $DOCKERFILE . echo "Verifying env..." -docker run $TARGET_IMAGE env +docker run --entrypoint='' $TARGET_IMAGE env -- cgit v1.2.3 From 922390fd60c026c478d70690c6ee204bcc14bca2 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 15:29:50 -0600 Subject: dump dotenv file before building custom Dockerfile --- bin/docker-dotenv | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin/docker-dotenv') diff --git a/bin/docker-dotenv b/bin/docker-dotenv index bfe1369..ab2c6c6 100755 --- a/bin/docker-dotenv +++ b/bin/docker-dotenv @@ -15,6 +15,9 @@ rm -f $DOCKERFILE touch $DOCKERFILE echo "FROM $SOURCE_IMAGE" > $DOCKERFILE +echo "Reading... $DOTENV" +cat $DOTENV + while IFS= read -r line; do echo "ENV $line" >> $DOCKERFILE done < $DOTENV -- cgit v1.2.3 From 55d92af0a3207a89c328ae53aee50254ae49795f Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 16:48:01 -0600 Subject: print TARGET_IMAGE --- bin/docker-dotenv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin/docker-dotenv') diff --git a/bin/docker-dotenv b/bin/docker-dotenv index ab2c6c6..ca025c0 100755 --- a/bin/docker-dotenv +++ b/bin/docker-dotenv @@ -25,7 +25,7 @@ done < $DOTENV echo "Pulling... $SOURCE_IMAGE" docker pull $SOURCE_IMAGE -echo "Building... $DOCKERFILE" +echo "Building... $DOCKERFILE and tagging $TARGET_IMAGE" cat $DOCKERFILE docker build -t $TARGET_IMAGE -f $DOCKERFILE . -- cgit v1.2.3