diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..c38fa4e005685a861be5fdbe8fcbb03f84a216b0 --- /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 0000000000000000000000000000000000000000..6c2b8b8c2217cdb76e085aa2317dbe8f7ba6e4c9 --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/context/Dockerfile b/context/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..161df6b2cdff2f55a08f3e9dbff2fa2c30ee64e9 --- /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 0000000000000000000000000000000000000000..161df6b2cdff2f55a08f3e9dbff2fa2c30ee64e9 --- /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;