Initial commit: IT Nexus Web-App
This commit is contained in:
49
nexus-scanner/Makefile
Normal file
49
nexus-scanner/Makefile
Normal file
@@ -0,0 +1,49 @@
|
||||
BINARY := nexus-scanner
|
||||
CMD := ./cmd/nexus-scanner
|
||||
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
|
||||
LDFLAGS := -ldflags "-s -w -X main.version=$(VERSION)"
|
||||
|
||||
.PHONY: build run test fmt vet clean install
|
||||
|
||||
## build: compile for the local OS/arch
|
||||
build:
|
||||
go build $(LDFLAGS) -o $(BINARY) $(CMD)
|
||||
|
||||
## build-linux: cross-compile for Linux amd64 + arm64
|
||||
build-linux:
|
||||
GOOS=linux GOARCH=amd64 go build $(LDFLAGS) -o $(BINARY)-linux-amd64 $(CMD)
|
||||
GOOS=linux GOARCH=arm64 go build $(LDFLAGS) -o $(BINARY)-linux-arm64 $(CMD)
|
||||
|
||||
## run: build and run with the example config (local testing only)
|
||||
run: build
|
||||
./$(BINARY) config.example.yaml
|
||||
|
||||
## test: run all tests
|
||||
test:
|
||||
go test -v -race ./...
|
||||
|
||||
## fmt: format all Go source files
|
||||
fmt:
|
||||
gofmt -w ./...
|
||||
|
||||
## vet: run go vet
|
||||
vet:
|
||||
go vet ./...
|
||||
|
||||
## tidy: update go.sum and remove unused dependencies
|
||||
tidy:
|
||||
go mod tidy
|
||||
|
||||
## clean: remove built binaries
|
||||
clean:
|
||||
rm -f $(BINARY) $(BINARY)-linux-amd64 $(BINARY)-linux-arm64
|
||||
|
||||
## install: deploy to a scanner VM (set SCANNER_HOST env var)
|
||||
## Usage: SCANNER_HOST=root@192.168.0.x make install
|
||||
install: build-linux
|
||||
scp $(BINARY)-linux-amd64 $(SCANNER_HOST):/usr/local/bin/$(BINARY)
|
||||
ssh $(SCANNER_HOST) "systemctl restart $(BINARY)"
|
||||
|
||||
## help: print this help
|
||||
help:
|
||||
@grep -E '^## ' Makefile | sed 's/## / /'
|
||||
Reference in New Issue
Block a user