From a4afe80f4f6d485b7553750c00fdb0dbdb66089d Mon Sep 17 00:00:00 2001 From: Erick Hitter <git-contrib@ethitter.com> Date: Sat, 28 Dec 2019 12:40:20 -0800 Subject: [PATCH] Starting point Using https://gist.github.com/adatta02/4743092#file-gistfile1-sh --- .gitignore | 2 ++ .gitlab-ci.yml | 49 +++++++++++++++++++++++++++++++++++++++++++++ .hadolint.yaml | 0 context/Dockerfile | 19 ++++++++++++++++++ context/s3-purge.sh | 19 ++++++++++++++++++ 5 files changed, 89 insertions(+) create mode 100644 .gitignore create mode 100644 .gitlab-ci.yml create mode 100644 .hadolint.yaml create mode 100644 context/Dockerfile create mode 100755 context/s3-purge.sh diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c38fa4e --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.idea +*.iml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..6c2b8b8 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,49 @@ +image: docker:latest + +services: + - docker:dind + +before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + +# +# TESTS +# + +lint:dockerfile: + stage: test + image: hadolint/hadolint:latest-debian + before_script: + - mkdir ~/.config + - cp ./.hadolint.yaml ~/.config/hadolint.yaml + script: + - find . -name "Dockerfile" -execdir hadolint {} \; + +lint:shell-script: + stage: test + image: koalaman/shellcheck-alpine:latest + before_script: + - shellcheck -V + script: + - find . -name "*.sh" -exec shellcheck {} \; + +# +# IMAGE BUILDS/PUSHES +# + +build:master: + stage: deploy + script: + - docker build --pull -t "$CI_REGISTRY_IMAGE:latest" ./context/ + - docker push "$CI_REGISTRY_IMAGE:latest" + only: + - master + when: manual + +build:dev: + stage: deploy + script: + - docker build --pull -t "$CI_REGISTRY_IMAGE:dev" ./context/ + - docker push "$CI_REGISTRY_IMAGE:dev" + except: + - master diff --git a/.hadolint.yaml b/.hadolint.yaml new file mode 100644 index 0000000..e69de29 diff --git a/context/Dockerfile b/context/Dockerfile new file mode 100644 index 0000000..161df6b --- /dev/null +++ b/context/Dockerfile @@ -0,0 +1,19 @@ +#!/bin/bash + +# Usage: ./deleteOld "bucketname" "30 days" + +s3cmd ls s3://$1 | while read -r line; + do + createDate=`echo $line|awk {'print $1" "$2'}` + createDate=`date -d"$createDate" +%s` + olderThan=`date -d"-$2" +%s` + if [[ $createDate -lt $olderThan ]] + then + fileName=`echo $line|awk {'print $4'}` + echo $fileName + if [[ $fileName != "" ]] + then + s3cmd del "$fileName" + fi + fi + done; diff --git a/context/s3-purge.sh b/context/s3-purge.sh new file mode 100755 index 0000000..161df6b --- /dev/null +++ b/context/s3-purge.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Usage: ./deleteOld "bucketname" "30 days" + +s3cmd ls s3://$1 | while read -r line; + do + createDate=`echo $line|awk {'print $1" "$2'}` + createDate=`date -d"$createDate" +%s` + olderThan=`date -d"-$2" +%s` + if [[ $createDate -lt $olderThan ]] + then + fileName=`echo $line|awk {'print $4'}` + echo $fileName + if [[ $fileName != "" ]] + then + s3cmd del "$fileName" + fi + fi + done; -- GitLab