add data generation, version tagging vars to build process
parent
5822152537
commit
6a74c5f9f0
|
|
@ -10,9 +10,11 @@ RUN make clean build
|
|||
FROM alpine
|
||||
|
||||
ARG VERSION=dev
|
||||
ARG COMMIT=00000000000000000000
|
||||
|
||||
LABEL maintainer="Adam Veldhousen <adam@vdhsn.com>"
|
||||
LABEL version=${VERSION}
|
||||
LABEL commit=${COMMIT}
|
||||
|
||||
WORKDIR /usr/local/bin
|
||||
COPY --from=build /go/src/riffraff/.bin/riffraff /usr/local/bin/
|
||||
|
|
@ -25,4 +27,4 @@ USER riffraff
|
|||
|
||||
EXPOSE 8080
|
||||
|
||||
ENTRYPOINT [ "/usr/local/bin/riffraff", "-port", "8080", "-accesslog"]
|
||||
ENTRYPOINT [ "/usr/local/bin/riffraff", "-bind", "127.0.0.1", "-port", "8080", "-accesslog"]
|
||||
74
makefile
74
makefile
|
|
@ -1,30 +1,63 @@
|
|||
APP := riffraff
|
||||
PKGS := $(shell go list ./... | grep -v vendor)
|
||||
GOBIN := $(GOPATH)/bin
|
||||
LINTBIN := $(GOBIN)/golangci-lint
|
||||
OUTDIR := .bin
|
||||
BINARY := $(OUTDIR)/$(app)
|
||||
|
||||
dev: clean .bin/$(APP)-dev
|
||||
./.bin/$(APP)-dev -port 8080 -accesslog=true -data=data.json
|
||||
GIT_SHA := $$(git rev-parse HEAD)
|
||||
GIT_BRANCH := $$(git rev-parse --abbrev-ref HEAD)
|
||||
VERSION := $(git desribe)
|
||||
|
||||
test:
|
||||
go test -v ./...
|
||||
|
||||
define SHORTCUT_DATA
|
||||
{
|
||||
"shortcuts": {
|
||||
"*": "https://duckduckgo.com/%s",
|
||||
"fb": "https://facebook.com",
|
||||
"gh": "https://github.com",
|
||||
"gitemoji": "https://www.webfx.com/tools/emoji-cheat-sheet/"
|
||||
}
|
||||
}
|
||||
endef
|
||||
export SHORTCUT_DATA
|
||||
|
||||
dev: clean $(BINARY)dev
|
||||
./$(BINARY)-dev -port 8080 -accesslog=true -data=data.json
|
||||
|
||||
test: lint
|
||||
go test -v -cover ./...
|
||||
|
||||
lint: $(LINTBIN)
|
||||
$(LINTBIN) run -p format -p unused -p bugs -p performance
|
||||
|
||||
$(LINTBIN):
|
||||
@GO111MODULE=off go get github.com/golangci/golangci-lint/cmd/golangci-lint
|
||||
|
||||
package:
|
||||
docker build --build-arg VERSION=$${VERSION:-dev} -t vdhsn/$(APP):$${VERSION:-dev} .
|
||||
docker build --build-arg VERSION=$(VERSION) \
|
||||
--build-arg COMMIT=$(GIT_SHA) \
|
||||
-t vdhsn/$(APP):$(VERSION) .
|
||||
docker tag vdhsn/$(APP):$(VERSION) vdhsn/$(APP):$(GIT_SHA)
|
||||
docker tag vdhsn/$(APP):$(VERSION) vdhsn/$(APP):$(GIT_BRANCH)
|
||||
|
||||
package-run:
|
||||
docker run -it --rm --name riffraff -u 1000:1000 -p 8080:8080 vdhsn/$(APP):$${VERSION:-dev}
|
||||
docker run -it --rm --name riffraff -u 1000:1000 -p 8080:8080 vdhsn/$(APP):$(GIT_SHA)
|
||||
|
||||
publish: package
|
||||
docker push vdhsn/$(APP):$${VERSION:-dev}
|
||||
docker push vdhsn/$(APP):$(VERSION)
|
||||
docker push vdhsn/$(APP):$(GIT_BRANCH)
|
||||
|
||||
build: .bin/$(APP)
|
||||
build: $(BINARY)
|
||||
|
||||
.bin:
|
||||
mkdir .bin
|
||||
$(OUTDIR):
|
||||
mkdir $@
|
||||
|
||||
.bin/$(APP): packr .bin
|
||||
packr build -o .bin/$(APP) -v .
|
||||
$(BINARY): packr .bin
|
||||
packr build -o $@ -v .
|
||||
|
||||
.bin/$(APP)-dev: .bin
|
||||
go build -o .bin/$(APP)-dev -v .
|
||||
$(BINARY)-dev: .bin
|
||||
go build -o $(BINARY)-dev -v .
|
||||
|
||||
clean:
|
||||
rm -rf .bin
|
||||
|
|
@ -33,18 +66,9 @@ clobber: clean
|
|||
rm -rf data.json
|
||||
|
||||
data.json:
|
||||
cat <<EOF >> ./data.json
|
||||
{
|
||||
"shortcuts": {
|
||||
"*": "https://duckduckgo.com/%s",
|
||||
"fb": "https://facebook.com",
|
||||
"gh": "https://github.com",
|
||||
"gitemoji": "https://www.webfx.com/tools/emoji-cheat-sheet/"
|
||||
}
|
||||
}
|
||||
EOF
|
||||
@echo "$${SHORTCUT_DATA}" > data.json
|
||||
|
||||
packr:
|
||||
go get -u github.com/gobuffalo/packr/packr
|
||||
|
||||
.PHONY: build clean dev package package-run publish packr
|
||||
.PHONY: build clean clobber dev lint package package-run publish packr test
|
||||
|
|
|
|||
Loading…
Reference in New Issue