Repository navigation
Expand file tree
/
Copy pathdev.bat
More file actions
126 lines (114 loc) · 3.29 KB
/
Copy pathdev.bat
File metadata and controls
126 lines (114 loc) · 3.29 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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: =============================================================================
:: dev.bat — Utilitários de desenvolvimento
:: =============================================================================
:MENU
cls
echo.
echo ========================================
echo Bot Notification — Dev Utils
echo ========================================
echo 1. Criar ambiente virtual e instalar dependencias
echo 2. Subir MongoDB local (Docker)
echo 3. Criar colecoes e indices no banco local
echo 4. Executar testes
echo 5. Subir aplicacao completa (Docker Compose)
echo 6. Derrubar containers
echo 7. Construir imagem Docker de producao
echo 0. Sair
echo ========================================
set /p opcao="Escolha uma opcao: "
if "%opcao%"=="1" goto VENV
if "%opcao%"=="2" goto MONGO_UP
if "%opcao%"=="3" goto SEED
if "%opcao%"=="4" goto TESTS
if "%opcao%"=="5" goto COMPOSE_UP
if "%opcao%"=="6" goto COMPOSE_DOWN
if "%opcao%"=="7" goto BUILD_PROD
if "%opcao%"=="0" goto SAIR
echo Opcao invalida.
pause
goto MENU
:: -----------------------------------------------------------------------------
:VENV
echo.
echo ^>^> Criando ambiente virtual...
python -m venv venv
call venv\Scripts\activate.bat
echo ^>^> Instalando dependencias...
pip install -r requirements.txt
echo ^>^> Pronto! O venv ja esta ativado nesta sessao.
pause
goto MENU
:: -----------------------------------------------------------------------------
:MONGO_UP
echo.
echo ^>^> Subindo MongoDB local...
docker compose up mongo -d
echo ^>^> MongoDB disponivel em localhost:27017
pause
goto MENU
:: -----------------------------------------------------------------------------
:SEED
echo.
if not exist venv\Scripts\activate.bat (
echo Venv nao encontrado. Execute a opcao 1 primeiro.
pause
goto MENU
)
call venv\Scripts\activate.bat
echo ^>^> Criando colecoes e indices no banco local...
python scripts\seed_dev_db.py
pause
goto MENU
:: -----------------------------------------------------------------------------
:TESTS
echo.
if not exist venv\Scripts\activate.bat (
echo Venv nao encontrado. Execute a opcao 1 primeiro.
pause
goto MENU
)
call venv\Scripts\activate.bat
echo ^>^> Executando testes...
pytest
pause
goto MENU
:: -----------------------------------------------------------------------------
:COMPOSE_UP
echo.
echo ^>^> Criando volume de assets (se nao existir)...
docker volume create assets_dev
echo ^>^> Subindo aplicacao completa via Docker Compose...
docker compose up -d
echo ^>^> Containers rodando. Acompanhe com: docker attach bot-notification-app
pause
goto MENU
:: -----------------------------------------------------------------------------
:COMPOSE_DOWN
echo.
echo ^>^> Derrubando containers...
docker compose down
pause
goto MENU
:: -----------------------------------------------------------------------------
:BUILD_PROD
echo.
set /p versao="Informe a versao da imagem (ex: 1.0.0): "
if "%versao%"=="" (
echo Versao nao informada. Operacao cancelada.
pause
goto MENU
)
echo ^>^> Construindo imagem bot-notif:%versao%...
docker build -t "bot-notif:%versao%" .
echo ^>^> Imagem criada: bot-notif:%versao%
pause
goto MENU
:: -----------------------------------------------------------------------------
:SAIR
echo Saindo...
endlocal
exit /b 0