이호영 이호영 07-27
fix: 배포 셸 스크립트가 CRLF로 체크아웃돼 리눅스에서 깨지던 문제
Windows에서 작업하고 리눅스 서버에서 실행하는 파일인데, git이 체크아웃할 때 CRLF로
바꿔놓아 bash가 syntax error로 죽었다(shellcheck SC1017). .gitattributes로 *.sh 와
Dockerfile, compose 파일의 줄바꿈을 LF로 고정하고 기존 파일을 정규화한다.
ps1은 Windows 전용이라 CRLF로 둔다.

start.sh는 포트를 파일 위쪽 설정 블록의 APP_PORT=8877 로 끌어올려, 기동과 확인이
같은 값을 쓰도록 정리했다. env 파일에 SERVER_PORT가 있으면 그 값이 우선한다.

alpine 컨테이너에서 bash -n 과 shellcheck로 확인했다.

Co-Authored-By: Claude Opus 5 (1M context) 
@219c1f3f53092749537795831b9b80e9b4b7d377
 
.gitattributes (added)
+++ .gitattributes
@@ -0,0 +1,15 @@
+# 줄바꿈 고정.
+# Windows에서 작업하고 리눅스 서버에서 실행하는 파일들이라, 체크아웃 때 CRLF로 바뀌면
+# 셸이 `$'
': command not found` / syntax error 로 죽는다.
+*.sh          text eol=lf
+Dockerfile    text eol=lf
+*.dockerignore text eol=lf
+deploy/*.yml  text eol=lf
+
+# PowerShell 스크립트는 Windows에서만 쓰므로 CRLF로 둔다.
+*.ps1         text eol=crlf
+
+# 캡처 이미지는 변환 대상이 아니다.
+*.png         binary
+*.xlsm        binary
+*.xlsx        binary
deploy/start.sh
--- deploy/start.sh
+++ deploy/start.sh
@@ -15,6 +15,9 @@
 LOG_FILE_NM=itnhub.log
 PID_FILE=/home/hubAdmin/itnhub.pid
 
+# 서비스 포트. application.yml 기본값과 같은 8877이다. 여기만 바꾸면 기동·확인이 함께 따라간다.
+APP_PORT=8877
+
 # 값이 든 파일. 소유자만 읽게 두고(chmod 600) 저장소에는 올리지 않는다.
 ENV_FILE=/home/hubAdmin/itnhub.env
 
@@ -42,8 +45,9 @@
 
 # 서버 시간대가 UTC면 업무단계 도달 일시, 칸반의 D+n, 연락 이력 날짜가 9시간 어긋난다.
 export TZ="${TZ:-Asia/Seoul}"
-# 앱 기본 포트는 application.yml에 8877로 고정되어 있다. 필요하면 env 파일에서 바꾼다.
-export SERVER_PORT="${SERVER_PORT:-8877}"
+# Spring은 SERVER_PORT 환경변수를 server.port로 읽는다.
+# env 파일에 SERVER_PORT가 있으면 그 값이, 없으면 위의 APP_PORT가 쓰인다.
+export SERVER_PORT="${SERVER_PORT:-$APP_PORT}"
 
 JAVA_OPTS="${JAVA_OPTS:--Xms512m -Xmx1g -Duser.timezone=Asia/Seoul -Dfile.encoding=UTF-8}"
 
Add a comment
List