diff --git a/journey/README.md b/journey/README.md index 49061fa..2f578d4 100644 --- a/journey/README.md +++ b/journey/README.md @@ -64,6 +64,7 @@ - [24 자동배포 0초 종료 runtime SSOT 복구 계획](./plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md) - [23서버 워크스페이스 SSOT 구조전환 계획](./plans/260309_23서버_워크스페이스_SSOT_구조전환_계획.md) - [외부 NAS -> 내부 NAS 컴퍼니엑스 동기화 운영계획](./plans/260311_external_nas_companyx_sync_운영계획.md) +- [rb8001 24 자동배포 SSOT 복구 및 SSH 인증 수정 완료](./worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md) - [24서버 ONNX 모델 NAS 백업 정리](./worklog/260309_24서버_onnx모델_nas백업_정리.md) - [23제어면 gateway workspace-config 단일화](./worklog/260309_23제어면_gateway_workspace_config_단일화.md) - [51123 구IP active runtime 제거 1차](./worklog/260309_51123_구IP_active_runtime_제거_1차.md) diff --git a/journey/plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md b/journey/plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md index 1865413..14f1ac2 100644 --- a/journey/plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md +++ b/journey/plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md @@ -5,13 +5,14 @@ tags: [infra, gitea-actions, deploy, 24-server, runtime, plans] # 24 자동배포 0초 종료 runtime SSOT 복구 계획 **작성일**: 2026-03-11 -**상태**: draft +**상태**: 완료 (2026-03-11) **목표**: Gitea Actions의 24 배포 경로를 현재 runtime SSOT에 다시 맞춰 `git push -> 자동 배포`를 복구한다. ## 관련 문서 - [24 자동배포 0초 종료와 runtime SSOT 불일치 이슈](../troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md) - [24 자동배포 0초 종료와 runtime SSOT 불일치 리서치](../research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md) - [24서버 robeing runtime workspace-config 단일화](../worklog/260310_24서버_robeing_runtime_workspace_config_단일화.md) +- [rb8001 24 자동배포 SSOT 복구 및 SSH 인증 수정 완료](../worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md) ## 결정 - 이번 문제는 `rb8001` 코드가 아니라 `배포 인프라 경로 + 51123 runner 실행층` 문제로 다룬다. diff --git a/journey/research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md b/journey/research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md index 8ee1caa..dda61dc 100644 --- a/journey/research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md +++ b/journey/research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md @@ -9,6 +9,7 @@ tags: [infra, gitea-actions, deploy, 24-server, runtime, research] - [24서버 robeing runtime workspace-config 단일화](../worklog/260310_24서버_robeing_runtime_workspace_config_단일화.md) - [24서버 우분투 터미널 불가, 네트워크 대역 오류, python3-apt 복구 기록](../troubleshooting/260309_24서버_우분투터미널불가_네트워크대역오류_python3apt복구.md) - [23임시배포 env.deploy SSOT 및 배포실패 근본원인 해결](../troubleshooting/260305_23임시배포_envdeploy_ssot_및_배포실패_근본원인_해결.md) +- [rb8001 24 자동배포 SSOT 복구 및 SSH 인증 수정 완료](../worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md) ## 목적 - 이번 자동 배포 `0s` 종료를 `애플리케이션 문제`가 아니라 `인프라 배포 경로 SSOT 불일치 -> 51123 runner 실행층` 순서로 좁혀 닫기 위한 확인 포인트를 정리한다. diff --git a/journey/troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md b/journey/troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md index d4933c1..ba36a8b 100644 --- a/journey/troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md +++ b/journey/troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md @@ -8,6 +8,7 @@ tags: [infra, gitea-actions, deploy, 24-server, runtime, troubleshooting] - [24서버 robeing runtime workspace-config 단일화](../worklog/260310_24서버_robeing_runtime_workspace_config_단일화.md) - [24서버 우분투 터미널 불가, 네트워크 대역 오류, python3-apt 복구 기록](./260309_24서버_우분투터미널불가_네트워크대역오류_python3apt복구.md) - [23임시배포 env.deploy SSOT 및 배포실패 근본원인 해결](./260305_23임시배포_envdeploy_ssot_및_배포실패_근본원인_해결.md) +- [rb8001 24 자동배포 SSOT 복구 및 SSH 인증 수정 완료](../worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md) ## 문제 - `rb8001` 최신 커밋 푸시 후 Gitea Actions `cicd.yml`이 `0s`로 종료되고 자동 배포가 실제로 수행되지 않았다. diff --git a/journey/worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md b/journey/worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md new file mode 100644 index 0000000..59919c6 --- /dev/null +++ b/journey/worklog/260311_rb8001_24자동배포_ssot복구_및_ssh인증수정_완료.md @@ -0,0 +1,33 @@ +--- +tags: [infra, gitea-actions, deploy, 24-server, rb8001, worklog] +--- + +# rb8001 24 자동배포 SSOT 복구 및 SSH 인증 수정 완료 + +## 관련 문서 +- [24 자동배포 0초 종료와 runtime SSOT 불일치 이슈](../troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md) +- [24 자동배포 0초 종료와 runtime SSOT 불일치 리서치](../research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md) +- [24 자동배포 0초 종료 runtime SSOT 복구 계획](../plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md) + +## 완료 요약 +- `rb8001`의 `.env.deploy`, `.env.deploy.example`, workflow 경로를 `192.168.0.106:51124`, `/home/admin/robeing/rb8001` 기준으로 맞췄습니다. +- 24 서버 `admin ~/.ssh/authorized_keys`에 `github_deploy` 공개키를 추가해 23 runner의 deploy key 인증을 복구했습니다. +- 이후 `rb8001` 자동 배포가 실제로 24 서버에서 컨테이너 재시작과 헬스체크 성공까지 도달하는 것을 확인했습니다. + +## 적용 내용 +- `rb8001/.env.deploy` 추가 +- `rb8001/.env.deploy.example` 구주소 제거 +- `rb8001/.gitea/workflows/cicd.yml`이 원격 셸에 `DEPLOY_PROJECT_DIR`를 명시적으로 전달하도록 수정 +- 24 서버 `~/.ssh/authorized_keys`에 `github_deploy` 공개키 추가 + +## 검증 결과 +- SSH 수동 검증: + - 51123에서 `ssh -i /home/admin/.ssh/github_deploy -p 51124 admin@192.168.0.106 'echo SSH_OK'` 성공 +- 자동 배포 검증: + - `rb8001` 컨테이너가 자동 재시작되어 현재 `Up ... (healthy)` + - `curl http://localhost:8001/health` 정상 응답 + - 컨테이너 로그에서 `2026-03-11 21:53:09` 애플리케이션 재기동 로그 확인 + +## 결론 +- 이 이슈는 닫혔습니다. +- 현재 `rb8001` 자동 배포 경로는 `24 runtime SSOT + 23 runner deploy key 인증` 기준으로 다시 동작합니다.