Kelly Norton 11 mēneši atpakaļ
vecāks
revīzija
f1f2f1efcb
3 mainītis faili ar 24 papildinājumiem un 5 dzēšanām
  1. 1 0
      .dockerignore
  2. 10 3
      Dockerfile
  3. 13 2
      Makefile

+ 1 - 0
.dockerignore

@@ -0,0 +1 @@
+/node_modules/

+ 10 - 3
Dockerfile

@@ -1,8 +1,15 @@
-FROM golang:alpine
+FROM kellegous/build:f1799259 AS build
+
+ARG SHA
 
 COPY . /src
-RUN cd /src/cmd/go && go build -mod=vendor -o /usr/bin/go
+RUN cd /src && CGO_ENABLED=0 make SHA=${SHA} clean all
+
+FROM scratch
+
+COPY --from=build /src/bin/go /
 
 EXPOSE 8067
 
-CMD ["/usr/bin/go", "--data=/data"]
+ENTRYPOINT [ "/go" ]
+CMD ["--data=/data"]

+ 13 - 2
Makefile

@@ -1,4 +1,6 @@
-SHA := $(shell git rev-parse HEAD)
+ifndef SHA
+	SHA := $(shell git rev-parse HEAD)
+endif
 
 ASSETS := \
 	internal/ui/assets/edit/index.html \
@@ -21,7 +23,7 @@ node_modules/.build: package.json
 internal/ui/assets/edit/index.html: node_modules/.build $(shell find ui -type f)
 	npm run build
 
-internal/ui/assets/links/index.html: node_modules/.build $(shell find ui -type f)
+internal/ui/assets/index.html: node_modules/.build $(shell find ui -type f)
 	npm run build
 
 develop: bin/devserver bin/go
@@ -29,3 +31,12 @@ develop: bin/devserver bin/go
 
 clean:
 	rm -rf bin internal/ui/assets
+
+bin/buildimg:
+	GOBIN="$(CURDIR)/bin" go install github.com/kellegous/buildimg@latest
+
+publish: bin/buildimg
+	bin/buildimg --tag=$(shell git rev-parse --short $(SHA)) \
+		--push \
+		--target=linux/arm64 --target=linux/amd64 \
+		--build-arg=SHA=${SHA} kellegous/go