From d57e616015f96681f8c3cf2ce36bdd85a24e2163 Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 15 Aug 2019 10:54:48 -0600 Subject: insert shim to generate report via ruby API --- bin/test | 17 +++++++++++++++++ bin/test_all | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 bin/test create mode 100755 bin/test_all (limited to 'bin') diff --git a/bin/test b/bin/test new file mode 100755 index 0000000..c1cd989 --- /dev/null +++ b/bin/test @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +export FEATURE_RUBY_REPORT=${FEATURE_RUBY_REPORT:-true} +export LM_PYTHON_VERSION=${LM_PYTHON_VERSION:-2} +export LM_REPORT_VERSION=${LM_REPORT_VERSION:-1} +export QA_RESULTS=${QA_RESULTS:-$QA_PROJECT-v$LM_REPORT_VERSION} +export RESULTS_DIR=${RESULTS_DIR:-`pwd`/results} + +docker run \ + --rm \ + --env FEATURE_RUBY_REPORT \ + --env LM_PYTHON_VERSION \ + --env LM_REPORT_VERSION \ + --volume $RESULTS_DIR:/results \ + $TMP_IMAGE test $QA_PROJECT ${QA_RESULTS} $QA_REF diff --git a/bin/test_all b/bin/test_all new file mode 100755 index 0000000..1aa19b4 --- /dev/null +++ b/bin/test_all @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +export RESULTS_DIR=`pwd`/tmp +export TMP_IMAGE=$(basename $PWD):latest + +docker pull licensefinder/license_finder:5.6.2 +docker build . -t $TMP_IMAGE + +REPORT_VERSIONS=(1) +for version in "${REPORT_VERSIONS[@]}" +do + export LM_REPORT_VERSION=$version + echo "Report Version $LM_REPORT_VERSION" + QA_PROJECT=go-modules QA_RESULTS="go-modules-v$version" QA_REF=master ./bin/test + QA_PROJECT=java-maven QA_RESULTS="java-maven-v$version" QA_REF=831c7a04 ./bin/test + QA_PROJECT=python-pip QA_RESULTS="python-pip-v$version" QA_REF=04dce91b LM_PYTHON_VERSION=2 ./bin/test + QA_PROJECT=python-pip QA_RESULTS="python3-pip-v$version" QA_REF=48e250a1 LM_PYTHON_VERSION=3 ./bin/test + QA_PROJECT=ruby-bundler QA_RESULTS="ruby-bundler-v$version" QA_REF=6b858821 ./bin/test +done -- cgit v1.2.3 From 1e0553590435977e5f27bcd4b715b4fbca7b595c Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 19 Aug 2019 14:47:24 -0600 Subject: use --pull to remove duplicated image name --- bin/test_all | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/test_all b/bin/test_all index 1aa19b4..c386a7a 100755 --- a/bin/test_all +++ b/bin/test_all @@ -5,8 +5,7 @@ set -e export RESULTS_DIR=`pwd`/tmp export TMP_IMAGE=$(basename $PWD):latest -docker pull licensefinder/license_finder:5.6.2 -docker build . -t $TMP_IMAGE +docker build . -t $TMP_IMAGE --pull REPORT_VERSIONS=(1) for version in "${REPORT_VERSIONS[@]}" -- cgit v1.2.3 From 9e6dc27364de7d6df94a0b8ca57c9027b2292733 Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 20 Aug 2019 15:26:00 -0600 Subject: remove redundant declaration of QA_RESULTS --- bin/test_all | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'bin') diff --git a/bin/test_all b/bin/test_all index c386a7a..c96c2e1 100755 --- a/bin/test_all +++ b/bin/test_all @@ -12,9 +12,9 @@ for version in "${REPORT_VERSIONS[@]}" do export LM_REPORT_VERSION=$version echo "Report Version $LM_REPORT_VERSION" - QA_PROJECT=go-modules QA_RESULTS="go-modules-v$version" QA_REF=master ./bin/test - QA_PROJECT=java-maven QA_RESULTS="java-maven-v$version" QA_REF=831c7a04 ./bin/test - QA_PROJECT=python-pip QA_RESULTS="python-pip-v$version" QA_REF=04dce91b LM_PYTHON_VERSION=2 ./bin/test + QA_PROJECT=go-modules QA_REF=master ./bin/test + QA_PROJECT=java-maven QA_REF=831c7a04 ./bin/test + QA_PROJECT=python-pip QA_REF=04dce91b LM_PYTHON_VERSION=2 ./bin/test QA_PROJECT=python-pip QA_RESULTS="python3-pip-v$version" QA_REF=48e250a1 LM_PYTHON_VERSION=3 ./bin/test - QA_PROJECT=ruby-bundler QA_RESULTS="ruby-bundler-v$version" QA_REF=6b858821 ./bin/test + QA_PROJECT=ruby-bundler QA_REF=6b858821 ./bin/test done -- cgit v1.2.3 From ead82e380d385450df7e507d1cb9cca15804ee5a Mon Sep 17 00:00:00 2001 From: mo khan Date: Thu, 22 Aug 2019 11:38:50 -0600 Subject: create script to inject environment variables into an existing image --- .gitignore | 1 + .gitlab-ci.yml | 11 ++++++++--- bin/docker-inject-env | 24 ++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 3 deletions(-) create mode 100755 bin/docker-inject-env (limited to 'bin') 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 . -- cgit v1.2.3 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 ++++++++++++++++++++++++ bin/docker-inject-env | 24 ------------------------ 2 files changed, 24 insertions(+), 24 deletions(-) create mode 100755 bin/docker-dotenv delete mode 100755 bin/docker-inject-env (limited to 'bin') 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 . diff --git a/bin/docker-inject-env b/bin/docker-inject-env deleted file mode 100755 index e404cec..0000000 --- a/bin/docker-inject-env +++ /dev/null @@ -1,24 +0,0 @@ -#!/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') 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') 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') 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') 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') 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') 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