- docs/ITMS_사용자지침서.docx: 접속·로그인(OTP)·주요 업무화면·FAQ - docs/ITMS_운영자지침서.docx: 4포트 스택 구성·기관 프로파일·CI/CD·systemd 기동·헬스체크·트러블슈팅 - docs/ITMS_개발자지침서.docx: 멀티모듈 아키텍처·common 추출(키스토어 파라미터화)·빌드·기여 워크플로우·백로그 - docs/ITMS_서버설치가이드.docx: 사전요구사항·설치절차·CI연동·검증 체크리스트·제거 - install/ 설치 패키지 소스: preflight.sh·install.sh(멱등, 서비스 start 안 함)·uninstall.sh·README·make_package.sh - make_package.sh → dist/itms-install-v1.0.tar.gz(152K): install+systemd+env+ci+docs 번들(재생성 가능, dist/ gitignore) 시크릿(접속정보·keystore 비번·연동 키) 문서·스크립트에 미포함(env/서버 로컬 관리 안내만). Tier2 기동은 DB/시크릿/JDK17 확보 환경 전제. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
35 lines
1.6 KiB
Bash
35 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
# ITMS 멱등 설치: 계정·디렉터리·systemd 유닛·env 배치. 서비스 start 는 하지 않음(기동은 운영자가 4.6 절차로).
|
|
set -euo pipefail
|
|
[ "$(id -u)" = "0" ] || { echo "root 로 실행하세요 (sudo bash install.sh)"; exit 1; }
|
|
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
SVC_USER=itms
|
|
|
|
echo "== 1) 서비스 계정 =="
|
|
id "$SVC_USER" >/dev/null 2>&1 || useradd -r -s /usr/sbin/nologin "$SVC_USER" || useradd -r -s /sbin/nologin "$SVC_USER"
|
|
echo "== 2) 디렉터리 =="
|
|
mkdir -p /opt/itms/repo /opt/itms/artifacts /etc/itms
|
|
chown -R "$SVC_USER":"$SVC_USER" /opt/itms
|
|
echo "== 3) systemd 유닛 설치 =="
|
|
for u in "$HERE"/systemd/itms-*.service; do
|
|
install -m 644 "$u" /etc/systemd/system/"$(basename "$u")"
|
|
echo " installed $(basename "$u")"
|
|
done
|
|
systemctl daemon-reload
|
|
echo "== 4) env 템플릿 배치 (기존 파일 보존) =="
|
|
for m in auth api front batch datatrans; do
|
|
f=/etc/itms/itms-$m.env
|
|
if [ ! -f "$f" ]; then
|
|
install -m 600 -o "$SVC_USER" -g "$SVC_USER" "$HERE"/env/itms.env.example "$f"
|
|
echo " created $f (SPRING_PROFILES_ACTIVE 를 기관명으로 수정하세요)"
|
|
else
|
|
echo " keep $f (기존 유지)"
|
|
fi
|
|
done
|
|
echo
|
|
echo "설치 완료. 다음:"
|
|
echo " 1) 아티팩트: /opt/itms/artifacts/current/itms-<모듈>.war 배치(빌드 또는 CI)"
|
|
echo " 2) /etc/itms/itms-<모듈>.env 의 SPRING_PROFILES_ACTIVE=<기관> 설정"
|
|
echo " 3) 기동: for m in auth api front batch datatrans; do systemctl enable --now itms-\$m; done"
|
|
echo " ※ 런타임 DB(MariaDB/Oracle) 도달·keystore·프로파일 시크릿 확보 후 기동할 것."
|