diff --git a/.drone.yml b/.drone.yml index 677fa3c..676cd5f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,49 +1,51 @@ pipeline: - build_docker_image: - image: docker:1.12 + test: + image: docker:17.09.0-ce environment: - - DOCKER_HOST=tcp://127.0.0.1:2375 + - DOCKER_HOST=tcp://172.17.0.1:2375 commands: - - docker build -t image . + - apk update && apk add bash curl + - docker build -t nginx-test-img -f Dockerfile-test . + - docker run --name nginx-test -e NGINX_CONFIG_FILE=/nginx.conf -d nginx-test-img + - sleep 3 + - curl -sf http://$$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nginx-test):10080 + - ./test-clean-up.sh - test: - image: docker:1.12 + build_docker_image: + image: docker:17.09.0-ce environment: - - DOCKER_HOST=tcp://127.0.0.1:2375 + - DOCKER_HOST=tcp://172.17.0.1:2375 commands: - - docker run --name nginx-test -e NGINX_CONFIG_FILE=/nginx.conf --net=host -v ${PWD}/tests/nginx.conf:/nginx.conf -d image - - sleep 3 - - curl -s -f http://127.0.0.1:10080 + - docker build -t nginx:$${DRONE_COMMIT_SHA} . + when: + event: [push, tag] + branch: master latest_image_to_quay: - image: docker:1.12 + image: docker:17.09.0-ce + secrets: + - docker_password environment: - - DOCKER_HOST=tcp://127.0.0.1:2375 + - DOCKER_HOST=tcp://172.17.0.1:2375 commands: - - docker login -u="ukhomeofficedigital+drone_nginx" -p=${DOCKER_PASSWORD} quay.io - - docker tag image quay.io/ukhomeofficedigital/nginx:latest - - docker tag image quay.io/ukhomeofficedigital/nginx:${DRONE_COMMIT_SHA} + - docker login -u="ukhomeofficedigital+drone_nginx" -p=$${DOCKER_PASSWORD} quay.io + - docker tag nginx:$${DRONE_COMMIT_SHA} quay.io/ukhomeofficedigital/nginx:latest + - docker tag nginx:$${DRONE_COMMIT_SHA} quay.io/ukhomeofficedigital/nginx:$${DRONE_COMMIT_SHA} - docker push quay.io/ukhomeofficedigital/nginx:latest - - docker push quay.io/ukhomeofficedigital/nginx:${DRONE_COMMIT_SHA} + - docker push quay.io/ukhomeofficedigital/nginx:$${DRONE_COMMIT_SHA} when: event: push branch: master - + tag_image_to_quay: - image: docker:1.12 + image: docker:17.09.0-ce + secrets: + - docker_password environment: - - DOCKER_HOST=tcp://127.0.0.1:2375 + - DOCKER_HOST=tcp://172.17.0.1:2375 commands: - - docker login -u="ukhomeofficedigital+drone_nginx" -p=${DOCKER_PASSWORD} quay.io - - docker tag image quay.io/ukhomeofficedigital/nginx:${DRONE_TAG} - - docker push quay.io/ukhomeofficedigital/nginx:${DRONE_TAG} + - docker login -u="ukhomeofficedigital+drone_nginx" -p=$${DOCKER_PASSWORD} quay.io + - docker tag nginx:$${DRONE_COMMIT_SHA} quay.io/ukhomeofficedigital/nginx:$${DRONE_TAG} + - docker push quay.io/ukhomeofficedigital/nginx:$${DRONE_TAG} when: event: tag - -services: - dind: - image: docker:1.12-dind - privileged: true - command: - - "-s" - - "overlay" diff --git a/.drone.yml.sig b/.drone.yml.sig deleted file mode 100644 index 817f95f..0000000 --- a/.drone.yml.sig +++ /dev/null @@ -1 +0,0 @@ -eyJhbGciOiJIUzI1NiJ9.cGlwZWxpbmU6CiAgYnVpbGRfZG9ja2VyX2ltYWdlOgogICAgaW1hZ2U6IGRvY2tlcjoxLjEyCiAgICBlbnZpcm9ubWVudDoKICAgICAgLSBET0NLRVJfSE9TVD10Y3A6Ly8xMjcuMC4wLjE6MjM3NQogICAgY29tbWFuZHM6CiAgICAgIC0gZG9ja2VyIGJ1aWxkIC10IGltYWdlIC4KCiAgdGVzdDoKICAgIGltYWdlOiBkb2NrZXI6MS4xMgogICAgZW52aXJvbm1lbnQ6CiAgICAgIC0gRE9DS0VSX0hPU1Q9dGNwOi8vMTI3LjAuMC4xOjIzNzUKICAgIGNvbW1hbmRzOgogICAgICAtIGRvY2tlciBydW4gLS1uYW1lIG5naW54LXRlc3QgLWUgTkdJTlhfQ09ORklHX0ZJTEU9L25naW54LmNvbmYgLS1uZXQ9aG9zdCAtdiAke1BXRH0vdGVzdHMvbmdpbnguY29uZjovbmdpbnguY29uZiAtZCBpbWFnZQogICAgICAtIHNsZWVwIDMKICAgICAgLSBjdXJsIC1zIC1mIGh0dHA6Ly8xMjcuMC4wLjE6MTAwODAKCiAgbGF0ZXN0X2ltYWdlX3RvX3F1YXk6CiAgICBpbWFnZTogZG9ja2VyOjEuMTIKICAgIGVudmlyb25tZW50OgogICAgICAtIERPQ0tFUl9IT1NUPXRjcDovLzEyNy4wLjAuMToyMzc1CiAgICBjb21tYW5kczoKICAgICAgLSBkb2NrZXIgbG9naW4gLXU9InVraG9tZW9mZmljZWRpZ2l0YWwrZHJvbmVfbmdpbngiIC1wPSR7RE9DS0VSX1BBU1NXT1JEfSBxdWF5LmlvCiAgICAgIC0gZG9ja2VyIHRhZyBpbWFnZSBxdWF5LmlvL3VraG9tZW9mZmljZWRpZ2l0YWwvbmdpbng6bGF0ZXN0CiAgICAgIC0gZG9ja2VyIHRhZyBpbWFnZSBxdWF5LmlvL3VraG9tZW9mZmljZWRpZ2l0YWwvbmdpbng6JHtEUk9ORV9DT01NSVRfU0hBfQogICAgICAtIGRvY2tlciBwdXNoIHF1YXkuaW8vdWtob21lb2ZmaWNlZGlnaXRhbC9uZ2lueDpsYXRlc3QKICAgICAgLSBkb2NrZXIgcHVzaCBxdWF5LmlvL3VraG9tZW9mZmljZWRpZ2l0YWwvbmdpbng6JHtEUk9ORV9DT01NSVRfU0hBfQogICAgd2hlbjoKICAgICAgZXZlbnQ6IHB1c2gKICAgICAgYnJhbmNoOiBtYXN0ZXIKCiAgdGFnX2ltYWdlX3RvX3F1YXk6CiAgICBpbWFnZTogZG9ja2VyOjEuMTIKICAgIGVudmlyb25tZW50OgogICAgICAtIERPQ0tFUl9IT1NUPXRjcDovLzEyNy4wLjAuMToyMzc1CiAgICBjb21tYW5kczoKICAgICAgLSBkb2NrZXIgbG9naW4gLXU9InVraG9tZW9mZmljZWRpZ2l0YWwrZHJvbmVfbmdpbngiIC1wPSR7RE9DS0VSX1BBU1NXT1JEfSBxdWF5LmlvCiAgICAgIC0gZG9ja2VyIHRhZyBpbWFnZSBxdWF5LmlvL3VraG9tZW9mZmljZWRpZ2l0YWwvbmdpbng6JHtEUk9ORV9UQUd9CiAgICAgIC0gZG9ja2VyIHB1c2ggcXVheS5pby91a2hvbWVvZmZpY2VkaWdpdGFsL25naW54OiR7RFJPTkVfVEFHfQogICAgd2hlbjoKICAgICAgZXZlbnQ6IHRhZwoKc2VydmljZXM6CiAgZGluZDoKICAgIGltYWdlOiBkb2NrZXI6MS4xMi1kaW5kCiAgICBwcml2aWxlZ2VkOiB0cnVlCiAgICBjb21tYW5kOgogICAgICAtICItcyIKICAgICAgLSAib3ZlcmxheSIK.MwY9iI19j6SKx6pwX7t5B03WySDUxM2iOR1qBgO6nqs \ No newline at end of file diff --git a/Dockerfile-test b/Dockerfile-test new file mode 100644 index 0000000..0ed69f6 --- /dev/null +++ b/Dockerfile-test @@ -0,0 +1,13 @@ +FROM alpine:3.5 + +RUN apk upgrade --no-cache && \ + apk add --no-cache nginx bash nginx-mod-http-lua && \ + install -d -g nginx -o nginx /run/nginx && \ + chown -R nginx:nginx /etc/nginx /var/log/nginx + +COPY bin/run.sh /run.sh +COPY conf.d /etc/nginx/conf.d +COPY tests/nginx.conf /nginx.conf + +USER nginx +ENTRYPOINT ["/run.sh"] diff --git a/test-clean-up.sh b/test-clean-up.sh new file mode 100755 index 0000000..0a19dc4 --- /dev/null +++ b/test-clean-up.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if docker ps -a --filter "name=nginx-test" | grep nginx-test &>/dev/null; then + echo "Removing nginx-test container..." + docker stop nginx-test &>/dev/null && docker rm nginx-test &>/dev/null +else + echo "No nginx-test container found." +fi + +if docker images nginx-test-img | grep nginx-test-img &>/dev/null; then + echo "Removing nginx-test-img image..." + docker rmi nginx-test-img &>/dev/null +else + echo "No nginx-test-img image found." +fi