mirror of
https://github.com/taigrr/godns
synced 2025-01-18 04:03:25 -08:00
use docker buildx to build docker images
This commit is contained in:
43
Makefile
Normal file
43
Makefile
Normal file
@@ -0,0 +1,43 @@
|
||||
# Binary name
|
||||
BINARY=godns
|
||||
# Builds the project
|
||||
build:
|
||||
GO111MODULE=on go build cmd/godns/godns.go -o ${BINARY} -ldflags "-X main.Version=${VERSION}"
|
||||
# Installs our project: copies binaries
|
||||
install:
|
||||
GO111MODULE=on go install
|
||||
image:
|
||||
# Build docker image
|
||||
go clean
|
||||
rm -rf *.gz
|
||||
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 -t timothyye/godns:${VERSION} . --push
|
||||
docker buildx build --platform linux/amd64,linux/386,linux/arm64,linux/arm/v7 -t timothyye/godns:latest . --push
|
||||
release:
|
||||
# Clean
|
||||
go clean
|
||||
rm -rf *.gz
|
||||
# Build for mac
|
||||
GO111MODULE=on go build cmd/godns/godns.go -o ${BINARY} -ldflags "-s -w -X main.Version=${VERSION}"
|
||||
tar czvf ${BINARY}-mac64-${VERSION}.tar.gz ./${BINARY}
|
||||
# Build for linux
|
||||
go clean
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build cmd/godns/godns.go -o ${BINARY} -ldflags "-s -w -X main.Version=${VERSION}"
|
||||
tar czvf ${BINARY}-linux64-${VERSION}.tar.gz ./${BINARY}
|
||||
# Build for arm
|
||||
go clean
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GO111MODULE=on go build cmd/godns/godns.go -o ${BINARY} -ldflags "-s -w -X main.Version=${VERSION}"
|
||||
tar czvf ${BINARY}-arm64-${VERSION}.tar.gz ./${BINARY}
|
||||
go clean
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm GO111MODULE=on go build cmd/godns/godns.go -o ${BINARY} -ldflags "-s -w -X main.Version=${VERSION}"
|
||||
tar czvf ${BINARY}-arm-${VERSION}.tar.gz ./${BINARY}
|
||||
# Build for win
|
||||
go clean
|
||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 GO111MODULE=on go build cmd/godns/godns.go -o ${BINARY}.exe -ldflags "-s -w -X main.Version=${VERSION}"
|
||||
tar czvf ${BINARY}-win64-${VERSION}.tar.gz ./${BINARY}.exe
|
||||
make image
|
||||
# Cleans our projects: deletes binaries
|
||||
clean:
|
||||
go clean
|
||||
rm -rf *.gz
|
||||
|
||||
.PHONY: clean build
|
||||
Reference in New Issue
Block a user