You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
915 B
27 lines
915 B
# 환경은 "실행 명령어"로 분기한다 (-env 플래그). 환경변수 APP_ENV에 의존하지 않음. |
|
.PHONY: run-dev run-prod build build-linux test vet fmt |
|
|
|
# --- 로컬 실행 (명령어로 환경 선택) --- |
|
run-dev: ## 개발 모드 실행 (text 로그, debug, 콘솔만) |
|
go run . -env dev |
|
|
|
run-prod: ## 운영 모드 실행 (JSON 로그, info, logs/app.log) |
|
go run . -env prod |
|
|
|
# --- 빌드 --- |
|
build: ## 현재 OS용 바이너리 |
|
go build -ldflags="-s -w" -o slack-notifier . |
|
|
|
# EC2 배포용 정적 바이너리. 기본 arm64(t4g/Graviton). x86_64 인스턴스면 ARCH=amd64. |
|
ARCH ?= arm64 |
|
build-linux: ## EC2용 리눅스 정적 바이너리 (ARCH=arm64|amd64) |
|
GOOS=linux GOARCH=$(ARCH) CGO_ENABLED=0 go build -ldflags="-s -w" -o slack-notifier . |
|
@echo "built: slack-notifier (linux/$(ARCH))" |
|
|
|
# --- 검증 --- |
|
test: |
|
go test ./... |
|
vet: |
|
go vet ./... |
|
fmt: |
|
gofmt -w .
|
|
|