-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
72 lines (55 loc) · 2.7 KB
/
Copy pathMakefile
File metadata and controls
72 lines (55 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
.PHONY: build clean init start stop update logs status
# Detecta docker-compose v1 ou v2 automaticamente
DOCKER_COMPOSE := $(shell command -v docker-compose >/dev/null 2>&1 && echo docker-compose || echo "docker compose")
BINARY = ditector
# ── Build local ───────────────────────────────────────────────────────────────
build:
@GOARCH=amd64 go build -o $(BINARY)
clean:
@rm -f $(BINARY)
rebuild: clean build
# ── Configuração: lê .env se existir ─────────────────────────────────────────
-include .env
export
ifeq ($(ROLE),secondary)
_MONGO := mongodb://$(DB_HOST):27017
_NEO4J := neo4j://$(DB_HOST):7687
_PROFILES :=
else
_MONGO := mongodb://localhost:27017
_NEO4J := neo4j://localhost:7687
_PROFILES := --profile db
endif
# ── Operação ──────────────────────────────────────────────────────────────────
init:
@[ -f .env ] && echo ".env já existe." || (cp .env.example .env && echo "Criado .env — edite antes de continuar.")
start:
@[ -f .env ] || (echo "Execute 'make init' primeiro." && exit 1)
-$(DOCKER_COMPOSE) $(_PROFILES) -p ditector-crawler rm -fs crawler $(if $(_PROFILES),mongodb neo4j,) 2>/dev/null
MONGO_URI=$(_MONGO) NEO4J_URI=$(_NEO4J) \
$(DOCKER_COMPOSE) $(_PROFILES) -p ditector-crawler up -d crawler \
$(if $(_PROFILES),mongodb neo4j,)
stop:
$(DOCKER_COMPOSE) $(_PROFILES) -p ditector-crawler stop
stop-build:
$(DOCKER_COMPOSE) -f docker-compose.node3.yml -p ditector-builder stop
clean-containers:
@echo "Limpando containers fantasmas do projeto..."
@docker ps -a | grep ditector | awk '{print $$1}' | xargs -r docker rm -f
update:
git fetch origin master && git reset --hard origin/master
@$(MAKE) start
start-build:
@[ -f .env ] || (echo "Execute 'make init' primeiro." && exit 1)
-$(DOCKER_COMPOSE) -f docker-compose.node3.yml -p ditector-builder rm -fs builder 2>/dev/null
MONGO_URI=$(_MONGO) NEO4J_URI=$(_NEO4J) \
$(DOCKER_COMPOSE) -f docker-compose.node3.yml -p ditector-builder up -d builder
logs:
@docker logs -f ditector_crawler 2>&1 | grep -E "Flushed|WARN|ERROR|401|429"
logs-build:
@docker logs -f ditector_builder 2>&1
status:
@mongosh $(_MONGO)/dockerhub_data --quiet --eval \
'print("repos:", db.repositories_data.countDocuments(), \
" | keywords:", db.crawler_keywords.countDocuments(), \
" | graph_built:", db.repositories_data.countDocuments({graph_built_at:{$$exists:true}}))'