From 97c3c0860312c78bad97c4ae6c2484a72e398aa9 Mon Sep 17 00:00:00 2001 From: Hunter Long Date: Tue, 4 Dec 2018 02:13:08 -0800 Subject: [PATCH] new key - docker testing --- Dockerfile.test | 22 ++++++++++ Makefile | 12 ++++-- dev/docker-compose.yml | 29 ------------- dev/statping.gpg | 96 ++++++++++++++++++++--------------------- docker-compose.test.yml | 8 ++++ docker-compose.yml | 10 +++++ 6 files changed, 97 insertions(+), 80 deletions(-) create mode 100644 Dockerfile.test delete mode 100644 dev/docker-compose.yml create mode 100644 docker-compose.test.yml create mode 100644 docker-compose.yml diff --git a/Dockerfile.test b/Dockerfile.test new file mode 100644 index 00000000..ce898f19 --- /dev/null +++ b/Dockerfile.test @@ -0,0 +1,22 @@ +FROM golang:1.11-alpine as base +MAINTAINER "Hunter Long (https://github.com/hunterlong)" +ARG VERSION +ENV DEP_VERSION v0.5.0 +RUN apk add --no-cache libstdc++ gcc g++ make git ca-certificates linux-headers wget curl jq +RUN curl -L -s https://github.com/golang/dep/releases/download/$DEP_VERSION/dep-linux-amd64 -o /go/bin/dep && \ + chmod +x /go/bin/dep +RUN curl -L -s https://assets.statup.io/sass -o /usr/local/bin/sass && \ + chmod +x /usr/local/bin/sass +WORKDIR /go/src/github.com/hunterlong/statping +ADD . /go/src/github.com/hunterlong/statping +RUN make dep +RUN make dev-deps +RUN make install + +ENV IS_DOCKER=true +ENV STATPING_DIR=/app +WORKDIR /app +VOLUME /app +EXPOSE 8080 + +CMD ["make", "test-api"] diff --git a/Makefile b/Makefile index 1dfc069e..8838f5fe 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ VERSION=$(shell cat version.txt) -SIGN_KEY=1CD16653F89EDB72A5621D2D253A2CB79B43052D +SIGN_KEY=B76D61FAA6DB759466E83D9964B9C6AAE2D55278 BINARY_NAME=statping GOPATH:=$(GOPATH) GOCMD=go @@ -12,7 +12,7 @@ BUILDVERSION=-ldflags "-X main.VERSION=${VERSION} -X main.COMMIT=$(TRAVIS_COMMIT RICE=$(GOPATH)/bin/rice PATH:=/usr/local/bin:$(GOPATH)/bin:$(PATH) PUBLISH_BODY='{ "request": { "branch": "master", "config": { "env": { "VERSION": "${VERSION}", "COMMIT": "$(TRAVIS_COMMIT)" } } } }' -TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master for Statping v${VERSION}", "config": { "os": [ "linux" ], "language": "go", "go": [ "1.10.x" ], "go_import_path": "github.com/hunterlong/statping", "install": true, "sudo": "required", "services": [ "docker" ], "env": { "VERSION": "${VERSION}" }, "matrix": { "allow_failures": [ { "go": "master" } ], "fast_finish": true }, "before_deploy": [ "git config --local user.name \"hunterlong\"", "git config --local user.email \"info@socialeck.com\"", "make tag" ], "deploy": [ { "provider": "releases", "api_key": "$(GH_TOKEN)", "file_glob": true, "file": "build/*", "skip_cleanup": true } ], "notifications": { "email": false }, "before_script": ["gem install sass"], "script": [ "wget -O statping.gpg $(SIGN_URL)", "gpg --import statping.gpg", "travis_wait 30 docker pull karalabe/xgo-latest", "make release" ], "after_success": [], "after_deploy": [ "make publish-dev" ] } } }' +TRAVIS_BUILD_CMD='{ "request": { "branch": "master", "message": "Compile master for Statping v${VERSION}", "config": { "os": [ "linux" ], "language": "go", "go": [ "1.10.x" ], "go_import_path": "github.com/hunterlong/statping", "install": true, "sudo": "required", "services": [ "docker" ], "env": { "VERSION": "${VERSION}" }, "matrix": { "allow_failures": [ { "go": "master" } ], "fast_finish": true }, "before_deploy": [ "git config --local user.name \"hunterlong\"", "git config --local user.email \"info@socialeck.com\"", "git tag v$(VERSION) --force"], "deploy": [ { "provider": "releases", "api_key": "$(GH_TOKEN)", "file_glob": true, "file": "build/*", "skip_cleanup": true } ], "notifications": { "email": false }, "before_script": ["gem install sass"], "script": [ "wget -O statping.gpg $(SIGN_URL)", "gpg --import statping.gpg", "travis_wait 30 docker pull karalabe/xgo-latest", "make release" ], "after_success": [], "after_deploy": [ "make publish-dev" ] } } }' TEST_DIR=$(GOPATH)/src/github.com/hunterlong/statping PATH:=$(PATH) @@ -132,6 +132,12 @@ build-alpine: compile # Docker Makefile commands # +docker-test: + docker-compose -f docker-compose.test.yml -p statping build + docker-compose -f docker-compose.test.yml -p statping up -d + docker logs -f statping_sut_1 + docker wait statping_sut_1 + # build :latest docker tag docker-build-latest: docker build --build-arg VERSION=${VERSION} -t hunterlong/statping:latest --no-cache -f Dockerfile . @@ -321,7 +327,7 @@ sign-all: gpg --default-key CB1895149EEA4A2B8DBC9FB4C326E5C3B26BBA53 --detach-sign --armor statpinger valid-sign: - gpg --verify statpinger.asc + gpg --verify statping.asc # install xgo and pull the xgo docker image xgo-install: clean diff --git a/dev/docker-compose.yml b/dev/docker-compose.yml deleted file mode 100644 index 53b90650..00000000 --- a/dev/docker-compose.yml +++ /dev/null @@ -1,29 +0,0 @@ -statping: - container_name: statping - image: hunterlong/statping - restart: always - ports: - - 8080:8080 - -postgres: - container_name: postgres - image: postgres - restart: always - ports: - - 5432:5432 - environment: - POSTGRES_PASSWORD: password123 - POSTGRES_USER: root - POSTGRES_DB: root - -mysql: - container_name: mysql - image: mysql:5.6 - restart: always - ports: - - 3306:3306 - environment: - MYSQL_ROOT_PASSWORD: password123 - MYSQL_DATABASE: root - MYSQL_USER: root - MYSQL_PASSWORD: password123 diff --git a/dev/statping.gpg b/dev/statping.gpg index 862307b2..222106f9 100644 --- a/dev/statping.gpg +++ b/dev/statping.gpg @@ -1,51 +1,51 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -=6VHg +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 +=Xn0G -----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/docker-compose.test.yml b/docker-compose.test.yml new file mode 100644 index 00000000..92f881fe --- /dev/null +++ b/docker-compose.test.yml @@ -0,0 +1,8 @@ +sut: + build: . + dockerfile: Dockerfile.test + links: + - statping +statping: + build: . + dockerfile: Dockerfile \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..6d0666f1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,10 @@ +statping: + container_name: statping + image: hunterlong/statping + restart: always + ports: + - 8080:8080 + volumes: + - ./statping:/app + environment: + DB_CONN: sqlite \ No newline at end of file