Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build oathekeeper docker image statically #14

Merged
merged 2 commits into from
Nov 6, 2017
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Build oathekeeper docker image statically
arekkas committed Nov 6, 2017
commit 33706868b771c29f1ae61c12d3df0b83e736658c
96 changes: 81 additions & 15 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -3,7 +3,29 @@
# Check https://circleci.com/docs/2.0/language-go/ for more details
version: 2
jobs:
build:
format:
docker:
- image: circleci/golang:1.9
working_directory: /go/src/github.com/ory/oathkeeper
steps:
- checkout
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.3.2/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: go get -u golang.org/x/tools/cmd/goimports
- run: dep ensure -vendor-only
- run: ./scripts/test-format.sh

swagger:
docker:
- image: circleci/golang:1.9
working_directory: /go/src/github.com/ory/oathkeeper
steps:
- checkout
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.3.2/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: go get -u github.com/go-swagger/go-swagger/cmd/swagger golang.org/x/tools/cmd/goimports
- run: dep ensure -vendor-only
- run: ./scripts/run-genswag.sh

test:
docker:
- image: circleci/golang:1.9
environment:
@@ -13,11 +35,9 @@ jobs:
- POSTGRES_USER=test
- POSTGRES_PASSWORD=test
- POSTGRES_DB=oathkeeper

working_directory: /go/src/github.com/ory/oathkeeper
steps:
- checkout
- setup_remote_docker
- run: go get -u github.com/go-swagger/go-swagger/cmd/swagger github.com/bradfitz/goimports github.com/mattn/goveralls golang.org/x/tools/cmd/cover github.com/ory/go-acc
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.3.2/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep

@@ -26,21 +46,67 @@ jobs:
- run: dep ensure -vendor-only
- run: go install github.com/ory/oathkeeper

# Format
- run: ./scripts/test-format.sh

# Tests
- run: go-acc -o coverage.txt $(glide novendor)
- run: go test -race -short $(glide novendor | grep -v cmd)

# See if swagger works
- run: ./scripts/run-genswag.sh

# Build and test dockerfiles
- run: docker build -t oathkeeper-proxy-travis-ci -f Dockerfile-proxy .
- run: docker build -t oathkeeper-management-travis-ci -f Dockerfile-management .
- run: docker run -d oathkeeper-proxy-travis-ci
- run: docker run -d oathkeeper-management-travis-ci

# Submit coverage details
# - run: goveralls -service=circle-ci -coverprofile=coverage.txt -repotoken=$COVERALLS_REPO_TOKEN

build-docker:
docker:
- image: library/docker:17.10
steps:
- checkout
- setup_remote_docker
- checkout
- setup_remote_docker
- run: docker build -f Dockerfile-test .

release:
docker:
- image: circleci/golang:1.9
working_directory: /go/src/github.com/ory/oathkeeper
steps:
- checkout
- setup_remote_docker
- run: curl -L -s https://github.com/golang/dep/releases/download/v0.3.2/dep-linux-amd64 -o /go/bin/dep && chmod +x /go/bin/dep
- run: go get -u golang.org/x/tools/cmd/goimports
- run: dep ensure -vendor-only
- run: GOOS=linux GOARCH=amd64 go build -ldflags "-X github.com/ory/oathkeeper/cmd.Version=`git describe --tags` -X github.com/ory/oathkeeper/cmd.BuildTime=`TZ=UTC date -u '+%Y-%m-%dT%H:%M:%SZ'` -X github.com/ory/oathkeeper/cmd.GitHash=`git rev-parse HEAD`" -o oathkeeper-docker-bin
- run: docker build -f Dockerfile -t oryd/oathkeeper:$CIRCLE_TAG .
- run: docker login --username "$DOCKER_USERNAME" --password "$DOCKER_PASSWORD"
- run: docker push oryd/oathkeeper:$CIRCLE_TAG

workflows:
version: 2
"test, build, and relase":
jobs:
- format:
filters:
tags:
only: /.*/
- test:
filters:
tags:
only: /.*/
- swagger:
filters:
tags:
only: /.*/
- build-docker:
requires:
- test
- swagger
- format
filters:
tags:
only: /.*/
- release:
requires:
- build-docker
filters:
tags:
only: /.*/
branches:
ignore: /.*/
7 changes: 7 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM alpine:3.6

RUN apk add --update ca-certificates # Certificates for SSL

ADD oathkeeper-docker-bin /go/bin/oathkeeper

ENTRYPOINT ["/go/bin/oathkeeper"]
18 changes: 0 additions & 18 deletions Dockerfile-proxy

This file was deleted.

2 changes: 1 addition & 1 deletion Dockerfile-management → Dockerfile-test
Original file line number Diff line number Diff line change
@@ -13,6 +13,6 @@ RUN dep ensure -vendor-only
ADD . .
RUN go install .

ENTRYPOINT /go/bin/oathkeeper serve management
ENTRYPOINT /go/bin/oathkeeper

EXPOSE 4456