chore: sync bdt.sh v2.1.0 (monorepo @ cb340d2)

This commit is contained in:
2026-06-10 16:04:14 -04:00
parent 1cd9237f48
commit 7bd1661666

51
bdt.sh
View File

@@ -20,7 +20,7 @@ set -euo pipefail
# CONFIGURACION
#===============================================================================
SCRIPT_VERSION="2.0.0"
SCRIPT_VERSION="2.1.0"
SCRIPT_NAME="$(basename "$0")"
# Directorios - resolver symlinks para encontrar la ruta real
@@ -1028,7 +1028,7 @@ _bdt_completions() {
local cur="${COMP_WORDS[COMP_CWORD]}"
local prev="${COMP_WORDS[COMP_CWORD-1]}"
local commands="clone pull install build up down restart status logs health verify-db verify-api deploy construir env update creds clean setup menu help image-login image-build image-push image-pull image-deploy image-build-amd64 server-deploy"
local commands="clone pull install build up down restart status logs health verify-db verify-api deploy construir publish env update creds clean setup menu help image-login image-build image-push image-pull image-deploy image-build-amd64 server-deploy"
local services="frontend gateway service-bus canales-admin-web canales-worker apibank infrastructure database"
local up_targets="all infra apps tools frontend gateway canales-admin-web canales-worker service-bus postgres redis keycloak"
local envs="desarrollo calidad demo produccion"
@@ -1654,6 +1654,51 @@ cmd_construir() {
ok "Asistente completado en ${elapsed}s — ${svc} @ ${branch}"
}
#===============================================================================
# COMANDO: publish - Sincronizar bdt.sh al repo público bdt-cli (Gitea)
#===============================================================================
cmd_publish() {
banner
step "PUBLISH" "Sincronizando bdt.sh → repo público bdt-cli"
# Ubicación del clon de bdt-cli: por defecto, al lado de la raíz del proyecto.
# Override en ~/.bdt/config: BDT_CLI_DIR=/ruta/al/clon
local cli_dir="${BDT_CLI_DIR:-$(dirname "$BDT_ROOT")/bdt-cli}"
if [[ ! -d "${cli_dir}/.git" ]]; then
err "No existe el clon de bdt-cli en ${cli_dir}"
echo -e " Clonalo: ${GRAY}git clone https://git.dcgeeks.net/BDT/bdt-cli.git ${cli_dir}${NC}"
echo -e " O definí ${GRAY}BDT_CLI_DIR=/ruta${NC} en ~/.bdt/config"
return 1
fi
cp "${BDT_ROOT}/bdt.sh" "${cli_dir}/bdt.sh"
chmod +x "${cli_dir}/bdt.sh"
cd "$cli_dir"
if git diff --quiet -- bdt.sh 2>/dev/null && [[ -z "$(git status --porcelain bdt.sh)" ]]; then
ok "Sin cambios: bdt-cli ya está al día (v${SCRIPT_VERSION})"
cd "$BDT_ROOT"
return 0
fi
local src_sha
src_sha="$(git -C "$BDT_ROOT" rev-parse --short HEAD 2>/dev/null || echo local)"
git add bdt.sh
git commit -q -m "chore: sync bdt.sh v${SCRIPT_VERSION} (monorepo @ ${src_sha})" && \
ok "Commit creado: v${SCRIPT_VERSION} @ ${src_sha}" || { err "Commit falló"; cd "$BDT_ROOT"; return 1; }
info "Pusheando a Gitea..."
if git push origin main 2>&1 | tail -2 | while read -r l; do echo -e " ${GRAY}${l}${NC}"; done; then
ok "Publicado: https://git.dcgeeks.net/BDT/bdt-cli"
else
err "Push falló — corré 'git push origin main' en ${cli_dir}"
cd "$BDT_ROOT"; return 1
fi
cd "$BDT_ROOT"
}
#===============================================================================
# AYUDA
#===============================================================================
@@ -1707,6 +1752,7 @@ cmd_help() {
echo ""
echo -e " ${O2}${BOLD}UTILIDADES${NC}"
echo -e " ${WHITE}git-auth${NC} [user] [pass] Configurar credenciales Git (no pide clave en cada pull)"
echo -e " ${WHITE}publish${NC} Sincronizar bdt.sh al repo público bdt-cli (Gitea)"
echo -e " ${WHITE}setup${NC} Instalar 'bdt' como comando global + alias + autocompletado"
echo -e " ${WHITE}menu${NC} Menu interactivo (panel de control)"
echo -e " ${WHITE}creds${NC} Mostrar credenciales"
@@ -1746,6 +1792,7 @@ case "$cmd" in
update) cmd_update "$@" ;;
deploy) cmd_deploy "$@" ;;
construir|wizard|asistente) cmd_construir "$@" ;;
publish) cmd_publish "$@" ;;
creds) cmd_creds "$@" ;;
clean) cmd_clean "$@" ;;
git-auth) cmd_git_auth "$@" ;;