게시판장기로 이해하는 규칙 엔진과 평가 함수 탐색예제 소스

예제 소스

장기로 이해하는 규칙 엔진과 평가 함수 탐색 · 파일 59개

deploy_janggy_to_idc.sh

#!/usr/bin/env bash
# 집 Mac: janggy.mariago.kr nginx 를 IDC에 올리고 인증서를 발급합니다.
#
#   bash scripts/deploy_janggy_to_idc.sh
set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
CONF="$ROOT/deploy/janggy.mariago.kr.conf"
INSTALL="$ROOT/scripts/idc_install_janggy_nginx.sh"

echo "== 0) DNS =="
IP="$(dig +short janggy.mariago.kr A | head -1 || true)"
echo "janggy.mariago.kr → ${IP:-NONE}"
if [[ -z "$IP" ]]; then
  echo "WARN: DNS A 레코드 없음. certbot 전에 ******** 로 등록하세요." >&2
fi

echo "== 1) 업로드 =="
scp -o BatchMode=yes -o ConnectTimeout=20 \
  "$CONF" "$INSTALL" \
  ethtrade:~/
ssh -o BatchMode=yes -o ConnectTimeout=20 ethtrade \
  'chmod +x ~/idc_install_janggy_nginx.sh; mv -f ~/janggy.mariago.kr.conf ~/janggy.mariago.kr.conf'

echo "== 2) nginx 설치 (sudo) =="
if ! ssh -tt -o ConnectTimeout=30 ethtrade 'sudo ~/idc_install_janggy_nginx.sh'; then
  echo "직접: ssh -t ethtrade && sudo ~/idc_install_janggy_nginx.sh" >&2
  exit 1
fi

echo "== 3) Let's Encrypt =="
if ! ssh -tt -o ConnectTimeout=90 ethtrade \
  'sudo certbot --nginx -d janggy.mariago.kr --non-interactive --agree-tos --keep-until-expiring --redirect || sudo certbot certonly --nginx -d janggy.mariago.kr --non-interactive --agree-tos --keep-until-expiring'; then
  echo "인증서 발급 실패. DNS 확인 후:" >&2
  echo "  ssh -t ethtrade" >&2
  echo "  sudo certbot --nginx -d janggy.mariago.kr" >&2
fi

echo "== 4) 확인 =="
ssh -o BatchMode=yes ethtrade \
  'curl -sS -o /dev/null -w "idc18088=%{http_code}\n" http://127.0.0.1:18088/ || echo idc18088=DOWN'
curl -k -sS -o /dev/null -w "https_janggy=%{http_code}\n" --max-time 15 https://janggy.mariago.kr/ || true
dig +short janggy.mariago.kr A || true