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