mirror of
https://gitea.intern.drachenfels.de/ruben/goget.git
synced 2026-02-08 12:48:01 +00:00
add Dockerfile and build script
This commit is contained in:
12
Dockerfile
Normal file
12
Dockerfile
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
FROM docker.io/library/golang:1.17-alpine3.14 as build
|
||||||
|
RUN apk --no-cache add make build-base git
|
||||||
|
ARG GONOSUMDB
|
||||||
|
ARG GOPROXY
|
||||||
|
ARG GOBIN=/opt/bin
|
||||||
|
ARG RELEASE="${RELEASE:-undefined}"
|
||||||
|
WORKDIR /build
|
||||||
|
ADD . .
|
||||||
|
RUN STATIC=true make install
|
||||||
|
|
||||||
|
FROM scratch
|
||||||
|
COPY --from=build /opt/bin/goget /
|
||||||
25
Makefile
25
Makefile
@ -1,12 +1,17 @@
|
|||||||
BUILD_HASH := $(shell git describe --always --tags --long)
|
COMMIT = $(shell git describe --always --tags --long --dirty)
|
||||||
LDFLAGS := "-X main.version=${BUILD_HASH} -s -w"
|
|
||||||
|
RELEASE ?= $(COMMIT)
|
||||||
|
LDFLAGS := -X main.version=$(RELEASE)
|
||||||
|
|
||||||
|
ifdef STATIC
|
||||||
|
LDFLAGS += -w -s -extldflags=-static
|
||||||
|
export CGO_ENABLED=0
|
||||||
|
endif
|
||||||
|
|
||||||
|
all: fmt install
|
||||||
|
|
||||||
|
fmt:
|
||||||
|
go fmt ./...
|
||||||
|
|
||||||
.PHONY: install
|
|
||||||
install:
|
install:
|
||||||
go fmt ./...
|
go install -ldflags "${LDFLAGS}" ./...
|
||||||
go install -ldflags ${LDFLAGS} ./...
|
|
||||||
|
|
||||||
.PHONY: build
|
|
||||||
build:
|
|
||||||
go fmt ./...
|
|
||||||
go build -ldflags ${LDFLAGS} ./...
|
|
||||||
|
|||||||
14
build.sh
Executable file
14
build.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh -eu
|
||||||
|
|
||||||
|
image="harbor.intern.drachenfels.de/shieldos/goget"
|
||||||
|
version="$(git describe --always --tags --dirty)"
|
||||||
|
|
||||||
|
buildah bud --layers \
|
||||||
|
--build-arg GOPROXY=$GOPROXY \
|
||||||
|
--build-arg GONOSUMDB=$GONOSUMDB \
|
||||||
|
--build-arg RELEASE=$version \
|
||||||
|
-t $image:latest \
|
||||||
|
-t $image:$version
|
||||||
|
|
||||||
|
buildah push $image:latest
|
||||||
|
buildah push $image:$version
|
||||||
Reference in New Issue
Block a user