feat: add Docker image build target and deployment docs

This commit is contained in:
LC mac
2026-01-14 00:53:58 +08:00
parent f284863f87
commit d7285511f0
2 changed files with 135 additions and 178 deletions

View File

@@ -1,15 +1,20 @@
APP_NAME = ddns-updater
BIN_DIR = bin
VERSION = 1.0.0
BIN_DIR = bin
VERSION = 1.0.0
# Go parameters
GOCMD = go
GOCMD = go
GOBUILD = $(GOCMD) build
GOCLEAN = $(GOCMD) clean
GORUN = $(GOCMD) run
GORUN = $(GOCMD) run
# Docker image (override: make build-dockerimg IMAGE=kccleoc/ddns-updater:latest)
IMAGE ?= kccleoc/ddns-updater:latest
# Build targets
.PHONY: all build clean run init-config install install-linux install-macos service-linux service-macos
.PHONY: all build build-all clean run init-config install \
install-linux install-macos service-linux service-macos \
build-dockerimg push-dockerimg
all: build
@@ -22,8 +27,8 @@ build:
# Build for multiple platforms
build-all:
mkdir -p $(BIN_DIR)
GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BIN_DIR)/$(APP_NAME)-linux-amd64 main.go
GOOS=linux GOARCH=arm64 $(GOBUILD) -o $(BIN_DIR)/$(APP_NAME)-linux-arm64 main.go
GOOS=linux GOARCH=amd64 $(GOBUILD) -o $(BIN_DIR)/$(APP_NAME)-linux-amd64 main.go
GOOS=linux GOARCH=arm64 $(GOBUILD) -o $(BIN_DIR)/$(APP_NAME)-linux-arm64 main.go
GOOS=darwin GOARCH=amd64 $(GOBUILD) -o $(BIN_DIR)/$(APP_NAME)-darwin-amd64 main.go
GOOS=darwin GOARCH=arm64 $(GOBUILD) -o $(BIN_DIR)/$(APP_NAME)-darwin-arm64 main.go
@echo "Built all platform binaries in $(BIN_DIR)/"
@@ -90,3 +95,13 @@ service-macos:
@echo " launchctl start com.ddns-updater"
@echo "\nView logs with:"
@echo " tail -f /usr/local/var/log/ddns-updater.log"
# Build Docker image (parameterized)
# Usage: make build-dockerimg IMAGE=kccleoc/ddns-updater:latest
build-dockerimg:
docker build -t $(IMAGE) .
# Push Docker image
# Usage: make push-dockerimg IMAGE=kccleoc/ddns-updater:latest
push-dockerimg:
docker push $(IMAGE)