freeleaps-ops/apps/gitea-webhook-ambassador/Makefile
zhenyus db590f3f27 refactor: update gitea-webhook-ambassador Dockerfile and configuration
- Changed the build process to include a web UI build stage using Node.js.
- Updated Go build stage to copy web UI files to the correct location.
- Removed the main.go file as it is no longer needed.
- Added SQLite database configuration to example config.
- Updated dependencies in go.mod and go.sum, including new packages for JWT and SQLite.
- Modified .gitignore to include new database and configuration files.

Signed-off-by: zhenyus <zhenyus@mathmast.com>
2025-06-10 16:00:52 +08:00

68 lines
1.9 KiB
Makefile

.PHONY: build clean test lint docker-build docker-push run help
# Variables
APP_NAME := gitea-webhook-ambassador
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
LDFLAGS := -ldflags "-X main.version=$(VERSION) -s -w"
GO_FILES := $(shell find . -name "*.go" -type f)
IMAGE_NAME := freeleaps/$(APP_NAME)
IMAGE_TAG := $(VERSION)
CONFIG_FILE := config.yaml
# Go commands
GO := go
GOFMT := gofmt
GOTEST := $(GO) test
GOBUILD := $(GO) build
# Default target
.DEFAULT_GOAL := help
# Build executable
build: $(GO_FILES)
@echo "Building $(APP_NAME)..."
$(GOBUILD) $(LDFLAGS) -o $(APP_NAME) ./cmd/server
# Clean build artifacts
clean:
@echo "Cleaning up..."
@rm -f $(APP_NAME)
@rm -rf build/
# Run tests
test:
@echo "Running tests..."
$(GOTEST) -v ./...
# Run linter
lint:
@which golangci-lint > /dev/null || (echo "Installing golangci-lint..." && go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest)
golangci-lint run
# Build Docker image
docker-build:
@echo "Building Docker image $(IMAGE_NAME):$(IMAGE_TAG)..."
docker build -t $(IMAGE_NAME):$(IMAGE_TAG) .
docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_NAME):latest
# Push Docker image to registry
docker-push: docker-build
@echo "Pushing Docker image $(IMAGE_NAME):$(IMAGE_TAG)..."
docker push $(IMAGE_NAME):$(IMAGE_TAG)
docker push $(IMAGE_NAME):latest
# Run locally
run: build
./$(APP_NAME) -config=$(CONFIG_FILE)
# Show help
help:
@echo "Gitea Webhook Ambassador - Makefile commands:"
@echo " build - Build the application"
@echo " clean - Remove build artifacts"
@echo " test - Run tests"
@echo " lint - Run linter"
@echo " docker-build - Build Docker image"
@echo " docker-push - Build and push Docker image to registry"
@echo " run - Build and run locally"
@echo " help - Show this help message"