docs: record 24 deploy ssot mismatch issue
This commit is contained in:
parent
7789f0b4ec
commit
1ad0a2c5ad
@ -44,6 +44,7 @@
|
||||
- [260308 env backup git tracking exposure 및 차단조치](./troubleshooting/260308_env_backup_git_tracking_exposure_및_차단조치.md)
|
||||
- [24서버 우분투 터미널 불가, 네트워크 대역 오류, python3-apt 복구 기록](./troubleshooting/260309_24서버_우분투터미널불가_네트워크대역오류_python3apt복구.md)
|
||||
- [23 gateway MONITOR_URL 구주소 잔존으로 24 monitor 프록시 실패 복구](./troubleshooting/260310_23gateway_monitor_url_구주소잔존_24monitor프록시실패_복구.md)
|
||||
- [24 자동배포 0초 종료와 runtime SSOT 불일치 이슈](./troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md)
|
||||
- [51123 포트경계 복잡성 및 진입구조불일치 이슈](./troubleshooting/260311_51123_포트경계_복잡성_및_진입구조불일치_이슈.md)
|
||||
- [Gitea git credential helper 표준화](./troubleshooting/260309_gitea_git_credential_helper_표준화.md)
|
||||
- [23서버 워크스페이스 인프라 구조정리 이슈](./troubleshooting/260307_23서버_워크스페이스_인프라_구조정리_이슈.md)
|
||||
@ -57,8 +58,10 @@
|
||||
- [24서버 실서비스 운영전환 리서치](./research/260309_24서버_실서비스운영전환_리서치.md)
|
||||
- [23서버 워크스페이스 SSOT 구조전환 리서치](./research/260309_23서버_워크스페이스_SSOT_구조전환_리서치.md)
|
||||
- [51123 포트 진입점 프로젝트 경계 리서치](./research/260310_51123_포트_진입점_프로젝트경계_리서치.md)
|
||||
- [24 자동배포 0초 종료와 runtime SSOT 불일치 리서치](./research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md)
|
||||
- [51123 구 IP 하드코딩 실행 경로 제거 계획](./plans/260309_51123_구IP하드코딩_실행경로제거_계획.md)
|
||||
- [24서버 실서비스 운영전환 계획](./plans/260309_24서버_실서비스운영전환_계획.md)
|
||||
- [24 자동배포 0초 종료 runtime SSOT 복구 계획](./plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md)
|
||||
- [23서버 워크스페이스 SSOT 구조전환 계획](./plans/260309_23서버_워크스페이스_SSOT_구조전환_계획.md)
|
||||
- [24서버 ONNX 모델 NAS 백업 정리](./worklog/260309_24서버_onnx모델_nas백업_정리.md)
|
||||
- [23제어면 gateway workspace-config 단일화](./worklog/260309_23제어면_gateway_workspace_config_단일화.md)
|
||||
|
||||
43
journey/plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md
Normal file
43
journey/plans/260311_24자동배포_0초종료_runtime_ssot복구_계획.md
Normal file
@ -0,0 +1,43 @@
|
||||
---
|
||||
tags: [infra, gitea-actions, deploy, 24-server, runtime, plans]
|
||||
---
|
||||
|
||||
# 24 자동배포 0초 종료 runtime SSOT 복구 계획
|
||||
|
||||
**작성일**: 2026-03-11
|
||||
**상태**: draft
|
||||
**목표**: 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` 코드가 아니라 `배포 인프라 경로` 문제로 다룬다.
|
||||
- 따라서 수정 우선순위는 `workflow -> secret/variable -> SSH 검증 -> task 로그` 순서다.
|
||||
|
||||
## 범위
|
||||
- 포함:
|
||||
- 24 배포 대상 host/port/path SSOT 확인
|
||||
- Gitea Actions secret/variable 교정
|
||||
- `cicd.yml` 하드코딩 경로 제거 또는 SSOT 기준 교정
|
||||
- 실제 push 기반 자동 배포 재검증
|
||||
- 제외:
|
||||
- 애플리케이션 기능 수정
|
||||
- 24 runtime.env/secrets.env 구조 재설계
|
||||
|
||||
## 실행 단계
|
||||
1. `rb8001/.gitea/workflows/cicd.yml`의 deploy host/port/path 참조를 확인한다.
|
||||
2. Gitea의 `SSH_HOST_51124`, 포트, 배포 경로 관련 secret/variable이 `192.168.0.106` 기준과 일치하는지 확인한다.
|
||||
3. 23 제어면에서 같은 값으로 24 실행면 SSH 접속이 실제 되는지 검증한다.
|
||||
4. 하드코딩 값이 있으면 제거하고 `DEPLOY_PROJECT_DIR` 또는 단일 기준 변수로 맞춘다.
|
||||
5. 테스트 커밋 또는 재실행으로 Actions task가 실제 실행되고, 24 서버 컨테이너가 재시작되는지 검증한다.
|
||||
|
||||
## 완료 기준
|
||||
- `cicd.yml` task가 `0s` 종료가 아니라 실제 실행 로그를 남긴다.
|
||||
- `git push origin main` 후 24 서버 `rb8001` 컨테이너가 자동 재시작된다.
|
||||
- 수동 배포 없이도 `docker ps`, 헬스체크, 최신 커밋 반영이 확인된다.
|
||||
|
||||
## 한 줄 결론
|
||||
- 목표는 `24=192.168.0.106` SSOT를 Actions 배포 경로까지 일치시켜 자동 배포를 다시 신뢰 가능한 상태로 복구하는 것이다.
|
||||
40
journey/research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md
Normal file
40
journey/research/260311_24자동배포_0초종료_runtime_ssot불일치_리서치.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
tags: [infra, gitea-actions, deploy, 24-server, runtime, research]
|
||||
---
|
||||
|
||||
# 24 자동배포 0초 종료와 runtime SSOT 불일치 리서치
|
||||
|
||||
## 관련 문서
|
||||
- [24 자동배포 0초 종료와 runtime SSOT 불일치 이슈](../troubleshooting/260311_24자동배포_0초종료_runtime_ssot불일치_이슈.md)
|
||||
- [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)
|
||||
|
||||
## 목적
|
||||
- 이번 자동 배포 `0s` 종료를 `애플리케이션 문제`가 아니라 `인프라 배포 경로 SSOT 불일치` 관점에서 닫기 위한 확인 포인트를 정리한다.
|
||||
|
||||
## 확인된 SSOT
|
||||
- 24 실행 서버 기준 주소: `192.168.0.106`
|
||||
- 과거 24 주소: `192.168.219.52` 사용 금지
|
||||
- 24 실행면 공통 런타임 값 기준: `/home/admin/workspace-config/runtime.env`, `/home/admin/workspace-config/secrets.env`
|
||||
- 배포 경로 기준: 서비스별 하드코딩이 아니라 workflow 변수/secret의 단일 기준 사용
|
||||
|
||||
## 이번 문제에 가장 가까운 원인 후보
|
||||
1. `SSH_HOST_51124` 또는 대응 secret/variable이 아직 구 IP를 가리킨다.
|
||||
2. SSH 포트가 현재 실제 접속 규칙과 어긋난다.
|
||||
3. workflow가 `DEPLOY_PROJECT_DIR` 대신 오래된 절대경로를 사용한다.
|
||||
4. runner는 뜨지만 실제 task가 시작 조건을 못 맞춰 즉시 종료된다.
|
||||
|
||||
## 이번 이슈에서 중요한 해석
|
||||
- 수동 배포가 같은 서버에서 정상 성공했기 때문에 `rb8001` 코드, Dockerfile, compose 자체가 주원인일 가능성은 낮다.
|
||||
- 따라서 우선순위는 `workflow 정의`, `Actions secret/variable`, `23 -> 24 SSH 대상값` 검증이다.
|
||||
- 기존 인프라 문서와도 일치하게, 이런 배포 실패는 대개 애플리케이션보다 `경로/권한/런타임 값`의 단일 기준 붕괴에서 발생한다.
|
||||
|
||||
## 닫힘에 필요한 최소 확인
|
||||
- `cicd.yml`의 실제 deploy host/port/path 참조값
|
||||
- Gitea Actions secret/variable의 현재값이 24 SSOT와 일치하는지
|
||||
- 23 제어면에서 24 실행면으로 SSH가 실제 성공하는지
|
||||
- task가 왜 `0s`로 끝났는지 runner/task 로그 확인
|
||||
|
||||
## 결론
|
||||
- 현재 가장 강한 가설은 `24 runtime SSOT는 192.168.0.106으로 정리됐지만, 자동 배포 경로 일부는 아직 그 기준으로 완전히 수렴하지 않았다`는 것이다.
|
||||
@ -0,0 +1,32 @@
|
||||
---
|
||||
tags: [infra, gitea-actions, deploy, 24-server, runtime, troubleshooting]
|
||||
---
|
||||
|
||||
# 24 자동배포 0초 종료와 runtime SSOT 불일치 이슈
|
||||
|
||||
## 관련 문서
|
||||
- [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` 최신 커밋 푸시 후 Gitea Actions `cicd.yml`이 `0s`로 종료되고 자동 배포가 실제로 수행되지 않았다.
|
||||
- 같은 시점에 24 실행 서버 `rb8001` 컨테이너는 재시작되지 않았고, 수동 `docker compose down && docker compose up -d --build` 후에만 코드가 반영됐다.
|
||||
|
||||
## 확인된 사실
|
||||
- 현재 24 실행 서버의 runtime SSOT는 `192.168.0.106`이다.
|
||||
- 과거 24 주소 `192.168.219.52`는 런타임과 영구 설정 모두에서 제거돼야 하는 대상으로 이미 정리돼 있다.
|
||||
- 24 실행면의 공용 런타임 값은 `/home/admin/workspace-config/runtime.env`, `/home/admin/workspace-config/secrets.env`가 SSOT다.
|
||||
- 기존 인프라 문서상 배포 실패의 대표 원인은 `DEPLOY_PROJECT_DIR` 같은 단일 기준을 안 쓰고 서비스별 하드코딩 경로/값을 남긴 경우였다.
|
||||
- 이번 건은 자동 배포가 실행되지 않았지만, 같은 서버에서 수동 배포는 정상 성공했다.
|
||||
|
||||
## 현재 해석
|
||||
- 애플리케이션 코드 자체 문제보다는 `Gitea Actions -> 24 배포 경로`의 SSOT 불일치 가능성이 높다.
|
||||
- 특히 `workflow secret/host/port/path` 중 하나 이상이 현재 24 runtime SSOT(`192.168.0.106`, 올바른 SSH 포트, 실제 배포 경로)와 어긋났을 가능성이 크다.
|
||||
|
||||
## 직접 영향
|
||||
- `git push origin main`이 배포 완료를 의미하지 않게 된다.
|
||||
- 운영자가 수동 배포로 개입해야 하므로 배포 재현성과 추적성이 깨진다.
|
||||
|
||||
## 한 줄 결론
|
||||
- 이번 자동 배포 실패는 `24 실행면 runtime SSOT`와 `Gitea Actions 배포 경로`가 다시 어긋났을 가능성이 높은 상태다.
|
||||
Loading…
x
Reference in New Issue
Block a user