mirror of
https://github.com/nicksherron/bashhub-server.git
synced 2025-01-04 06:13:06 +08:00
make file
This commit is contained in:
parent
5de60614a7
commit
06f64ace02
2 changed files with 35 additions and 28 deletions
56
Dockerfile
56
Dockerfile
|
@ -1,40 +1,42 @@
|
||||||
# Build Stage
|
# GitHub: https://github.com/nicksherron/bashhub-server
|
||||||
FROM nicksherron/bashhub-server-build:1.13 AS build-stage
|
FROM golang:1.13-alpine AS build
|
||||||
|
|
||||||
LABEL app="build-bashhub-server"
|
ARG VERSION
|
||||||
LABEL REPO="https://github.com/nicksherron/bashhub-server"
|
ARG GIT_COMMIT
|
||||||
|
ARG BUILD_DATE
|
||||||
|
|
||||||
ENV PROJPATH=/go/src/github.com/nicksherron/bashhub-server
|
ARG CGO=1
|
||||||
|
ENV CGO_ENABLED=${CGO}
|
||||||
|
ENV GOOS=linux
|
||||||
|
ENV GO111MODULE=on
|
||||||
|
|
||||||
# Because of https://github.com/docker/docker/issues/14914
|
|
||||||
ENV PATH=$PATH:$GOROOT/bin:$GOPATH/bin
|
|
||||||
|
|
||||||
ADD . /go/src/github.com/nicksherron/bashhub-server
|
|
||||||
WORKDIR /go/src/github.com/nicksherron/bashhub-server
|
WORKDIR /go/src/github.com/nicksherron/bashhub-server
|
||||||
|
|
||||||
RUN make build-alpine
|
COPY . /go/src/github.com/nicksherron/bashhub-server/
|
||||||
|
|
||||||
# Final Stage
|
# gcc/g++ are required to build SASS libraries for extended version
|
||||||
FROM nicksherron/bashhub-server
|
RUN apk update && \
|
||||||
|
apk add --no-cache gcc g++ musl-dev
|
||||||
|
|
||||||
ARG GIT_COMMIT
|
|
||||||
ARG VERSION
|
|
||||||
LABEL REPO="https://github.com/nicksherron/bashhub-server"
|
|
||||||
LABEL GIT_COMMIT=$GIT_COMMIT
|
|
||||||
LABEL VERSION=$VERSION
|
|
||||||
|
|
||||||
# Because of https://github.com/docker/docker/issues/14914
|
RUN go build -ldflags '-w -linkmode external -extldflags "-static" -X github.com/nicksherron/bashhub-server/version.GitCommit=${GIT_COMMIT} -X github.com/nicksherron/bashhub-server/version.BuildDate=${BUILD_DATE}' -o bin/${BIN_NAME}
|
||||||
ENV PATH=$PATH:/opt/bashhub-server/bin
|
|
||||||
|
|
||||||
WORKDIR /opt/bashhub-server/bin
|
# ---
|
||||||
|
|
||||||
COPY --from=build-stage /go/src/github.com/nicksherron/bashhub-server/bin/bashhub-server /opt/bashhub-server/bin/
|
FROM alpine:3.11
|
||||||
RUN chmod +x /opt/bashhub-server/bin/bashhub-server
|
|
||||||
|
|
||||||
# Create appuser
|
COPY --from=build /go/bin/bashhub-server /usr/bin/bashhub-server
|
||||||
RUN adduser -D -g '' bashhub-server
|
|
||||||
USER bashhub-server
|
|
||||||
|
|
||||||
ENTRYPOINT ["/usr/bin/dumb-init", "--"]
|
# libc6-compat & libstdc++ are required for extended SASS libraries
|
||||||
|
# ca-certificates are required to fetch outside resources (like Twitter oEmbeds)
|
||||||
|
RUN apk update && \
|
||||||
|
apk add --no-cache ca-certificates libc6-compat libstdc++
|
||||||
|
|
||||||
CMD ["/opt/bashhub-server/bin/bashhub-server"]
|
VOLUME /data
|
||||||
|
WORKDIR /data
|
||||||
|
|
||||||
|
# Expose port for live server
|
||||||
|
EXPOSE 4444
|
||||||
|
|
||||||
|
ENTRYPOINT ["bashhub-server"]
|
||||||
|
CMD ["--help"]
|
||||||
|
|
7
Makefile
7
Makefile
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: build build-alpine clean test help default
|
.PHONY: build build-alpine clean test help default docker-build
|
||||||
|
|
||||||
BIN_NAME=bashhub-server
|
BIN_NAME=bashhub-server
|
||||||
|
|
||||||
|
@ -32,6 +32,11 @@ build:
|
||||||
get-deps:
|
get-deps:
|
||||||
dep ensure
|
dep ensure
|
||||||
|
|
||||||
|
|
||||||
|
docker-build:
|
||||||
|
docker build --no-cache=true --build-arg VERSION=${VERSION} --build-arg BUILD_DATE=${BUILD_DATE} --build-arg GIT_COMMIT=${GIT_COMMIT} -t $(IMAGE_NAME) .
|
||||||
|
|
||||||
|
|
||||||
build-alpine:
|
build-alpine:
|
||||||
@echo "building ${BIN_NAME} ${VERSION}"
|
@echo "building ${BIN_NAME} ${VERSION}"
|
||||||
@echo "GOPATH=${GOPATH}"
|
@echo "GOPATH=${GOPATH}"
|
||||||
|
|
Loading…
Reference in a new issue