mirror of
https://github.com/spaytac/orbiter.git
synced 2026-01-21 23:44:41 +00:00
Merge pull request #37 from fntlnz/36-build-improvements
Build improvement closes #36
This commit is contained in:
commit
adbd52a28e
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1 @@
|
||||
bin/
|
||||
.idea/
|
||||
|
||||
@ -5,11 +5,11 @@ services:
|
||||
- docker
|
||||
script:
|
||||
#- sudo PATH=$PATH GOPATH=$GOPATH make ci binaries
|
||||
- make ci binaries
|
||||
- make ci
|
||||
after_success:
|
||||
- docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST_BRANCH" == "" ]; docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
- export REPO=gianarb/orbiter
|
||||
- if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST_BRANCH" == "" ]; then docker build -f Dockerfile.image -t $REPO . && docker push $REPO; else echo "I only push from master branch." ; fi
|
||||
- if [ "$TRAVIS_BRANCH" == "master" ] && [ "$TRAVIS_PULL_REQUEST_BRANCH" == "" ]; then docker build -f Dockerfile -t $REPO . && docker push $REPO; else echo "I only push from master branch." ; fi
|
||||
env:
|
||||
global:
|
||||
- secure: "MN7hNDnx47U9ZCg78GjEGDH5//lLfVzCKnJyPdT4jpYWM05pDB1rPrNwIPZOVuz4XT/x07Oa5M695Pkt61L+yVVfs+AUN6bYwffKWRU0T1dvXzJneB64JQeIGkqyiAHAmrjlpgzOgfB7EcmH4aEFq1HXYCqrvIgAX75D9l/T3xuRXdIzyVLzD3CZZQSZK5cFT37niofMvHoJgmBg5u8FEd2yR2M2LJGbIpXuB3UOn2yqRZHELVg12zhOwgqE+sQtqzBwirx9GObo5x4Nh7AWHIEN/K4BsxMXwZcWSySb0QxRtPpeyiItdDNr62W2MHpyEy//0sJwC5FFhsBzGfSlLpTV+YPrmaXju81JddQVyaB7l6gR3qnwrEywlLBSU3K71FJTHerq23KQV5p50JKA0oYAkKzDtaj0yJAXpFXZbXQq1cOVQidz7Suhi5ZsobI1bzWb5gELCeqCXr0aweTQXqch7Uom4qhIf6aK961F5dvUubzYcgKqbGRBp2F72rls2+9AvnQwUHnPC574sv88oTj0JrDDZoku4vBqSgNkOOICtekBNnksAZLbWasom/+ksqGyZX8qlbf1LLfhwVLqdFgWXrHggO8r8rh8i9MyON0K04hnTHsPHU8+kmbtzZwbXwnVmrJlWnlpolt5CT5XbaPpPwDxvoYsKx0WoYsmZ20="
|
||||
|
||||
14
Dockerfile
Normal file
14
Dockerfile
Normal file
@ -0,0 +1,14 @@
|
||||
FROM golang:1.8.3 as builder
|
||||
|
||||
RUN mkdir -p /go/src/github.com/gianarb/orbiter
|
||||
ADD . /go/src/github.com/gianarb/orbiter/
|
||||
WORKDIR /go/src/github.com/gianarb/orbiter
|
||||
RUN make build
|
||||
|
||||
FROM scratch
|
||||
|
||||
COPY --from=builder /go/src/github.com/gianarb/orbiter/bin/orbiter /bin/orbiter
|
||||
|
||||
ENTRYPOINT ["orbiter"]
|
||||
|
||||
CMD ["orbiter", "daemon"]
|
||||
@ -1,11 +0,0 @@
|
||||
FROM golang:1.8.3
|
||||
|
||||
RUN mkdir -p /go/src/github.com/gianarb/orbiter
|
||||
ADD . /go/src/github.com/gianarb/orbiter/
|
||||
WORKDIR /go/src/github.com/gianarb/orbiter
|
||||
RUN go build -o orbiter
|
||||
RUN mv ./orbiter /bin/orbiter
|
||||
|
||||
|
||||
ENTRYPOINT ["orbiter"]
|
||||
CMD ["orbiter", "daemon"]
|
||||
@ -1,7 +0,0 @@
|
||||
FROM scratch
|
||||
|
||||
ADD ./bin/orbiter /bin/orbiter
|
||||
|
||||
ENTRYPOINT ["orbiter"]
|
||||
|
||||
CMD ["orbiter", "daemon"]
|
||||
2
LICENSE
2
LICENSE
@ -1,4 +1,4 @@
|
||||
Apache License
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
|
||||
46
Makefile
46
Makefile
@ -1,23 +1,35 @@
|
||||
out_binary=bin/orbiter
|
||||
docker_image_fqdn=docker.io/gianarb/orbiter
|
||||
PACKAGES=$(shell go list ./... | grep -v /vendor/)
|
||||
RACE := $(shell test $$(go env GOARCH) != "amd64" || (echo "-race"))
|
||||
RACE=$(shell test $$(go env GOARCH) != "amd64" || (echo "-race"))
|
||||
|
||||
.PHONY: build
|
||||
build: clean $(out_binary)
|
||||
|
||||
$(out_binary): bin
|
||||
mkdir -p ./bin
|
||||
CGO_ENABLED=0 GOOS=linux go build -o $(out_binary) -a -tags netgo -ldflags '-w' .
|
||||
|
||||
bin:
|
||||
mkdir -p bin/
|
||||
|
||||
.PHONY: build/docker-image
|
||||
docker-image:
|
||||
docker build -t $(docker_image_fqdn):latest .
|
||||
|
||||
.PHONY: clean
|
||||
help: ## this help
|
||||
awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | sort
|
||||
|
||||
.PHONY: ci test vet
|
||||
ci: vet test
|
||||
|
||||
test: ## run tests, except integration tests
|
||||
@go test ${RACE} ${PACKAGES}
|
||||
|
||||
binaries:
|
||||
@echo "Compiling..."
|
||||
@mkdir -p ./bin
|
||||
@go build -i -o ./bin/orbiter
|
||||
@CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -i -o ./bin/orbiter
|
||||
@echo "All done! The binaries is in ./bin let's have fun!"
|
||||
|
||||
build/docker: binaries
|
||||
@docker build -t gianarb/orbiter:latest .
|
||||
go test ${RACE} ${PACKAGES}
|
||||
|
||||
vet: ## run go vet
|
||||
@test -z "$$(go vet ${PACKAGES} 2>&1 | grep -v '*composite literal uses unkeyed fields|exit status 0)' | tee /dev/stderr)"
|
||||
test -z "$$(go vet ${PACKAGES} 2>&1 | grep -v '*composite literal uses unkeyed fields|exit status 0)' | tee /dev/stderr)"
|
||||
|
||||
help: ## this help
|
||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST) | sort
|
||||
|
||||
ci: vet test
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -Rf bin/
|
||||
Loading…
Reference in New Issue
Block a user