feat: add two-folder first-run playout setup
This commit is contained in:
@@ -22,6 +22,22 @@
|
||||
없고, JSON 또는 해시 형식이 잘못된 경우에도 시작은 fail-closed로 진행되어 기존
|
||||
`playout.local.json`의 안전 기본인 `DryRun`을 사용한다.
|
||||
|
||||
새 clone처럼 아직 검증된 runtime 연결이 없는 경우의 첫 F5는 예외적으로 소스 전용 설정
|
||||
앱을 연다. 이 프로세스는 `--development-live`를 적용하지 않고 DB와 송출을 모두 차단한다.
|
||||
화면에서 기존 코더의 `Cuts`와 `Res` 폴더, 두 개만 선택한다. `Res` 안에서는
|
||||
`MmoneyCoder.ini`, `종목.ini`, `업종_코스피.ini`, `업종_코스닥.ini`, `해외.ini`,
|
||||
`환율.ini`, `지수.ini`, `종목비교.ini` 등 활성 INI 8개를 모두 확인한다. 개별 INI나
|
||||
Tornado2 endpoint를 입력하지 않으며 endpoint는 지정 개발 환경 기본값
|
||||
`127.0.0.1:30001`로 고정된다. 설정을 완료한 뒤 창을 닫고 F5를 한 번 더 누른다. 두 번째
|
||||
F5부터 위 세 조건을 검증해 Development Live를 적용한다. 자세한 절차는
|
||||
[개발 PGM 인수 절차](DEVELOPMENT_LIVE_HANDOFF.md#2-기존-자산-보유-pc-clone-후-1회-초기화)를
|
||||
따른다.
|
||||
|
||||
`MmoneyCoder.ini`의 DB 자격증명은 테스트 개발 서버용이라도 Git에 넣지 않는다. 첫 실행
|
||||
설정은 사용자 전용 LocalAppData overlay로만 복사하며 빌드 출력, runtime bundle과 MSIX에는
|
||||
포함하지 않는다. 첫 실행 화면이 열리지 않거나 기존 로컬 설정을 명시적으로 교체해야 할 때만
|
||||
`Initialize-ExistingDevelopmentPc.ps1`을 수동 fallback으로 사용한다.
|
||||
|
||||
## Visual Studio 시작 대상과 프로필
|
||||
|
||||
공유 솔루션 실행 프로필은 저장소 루트의
|
||||
@@ -53,6 +69,26 @@ DryRun 확인은 두 번째 프로필을 선택한다. 앱은 단일 인스턴
|
||||
|
||||
## 로컬 승인 파일
|
||||
|
||||
### 지속 K3D pin
|
||||
|
||||
첫 실행 설정은 K3D의 HKLM x64 등록, CLSID·ProgID·TypeLib, AMD64와 vendor 배치를 먼저
|
||||
검증한다. 검사를 통과한 최초 native/Interop DLL의 SHA-256은 다음 사용자 전용 파일에
|
||||
지속 저장한다.
|
||||
|
||||
```text
|
||||
%LOCALAPPDATA%\MBN_STOCK_WEBVIEW\Config\k3d-pins.local.json
|
||||
```
|
||||
|
||||
이후 등록 DLL의 해시가 이 기준과 다르면 첫 실행 설정을 다시 눌러도 자동으로 pin을 바꾸지
|
||||
않고 Development Live를 차단한다. 정식 DLL 교체 시에는 벤더 배포본 등으로 독립 검증한
|
||||
`-NativeSha256`과 `-InteropSha256`을 제공하고
|
||||
`Initialize-ExistingDevelopmentPc.ps1 -ReplaceK3DPin -ReplaceLiveConfig` 수동 절차를
|
||||
사용해야 한다. `-ReplaceK3DPin`과 현재 등록 파일을 자동 채택하는 `-PinRegisteredK3D`는
|
||||
함께 사용할 수 없다. 정확한 명령은
|
||||
[개발 PGM 인수 절차](DEVELOPMENT_LIVE_HANDOFF.md#k3d-dll이-정식으로-교체된-경우)에 있다.
|
||||
|
||||
### Development Live 승인
|
||||
|
||||
실제 파일 경로는 다음과 같다.
|
||||
|
||||
```text
|
||||
@@ -86,9 +122,10 @@ DryRun 확인은 두 번째 프로필을 선택한다. 앱은 단일 인스턴
|
||||
- 파일 없음, 잘못된 경로, 공유 위반, I/O 또는 읽기 권한 오류는 모두 같은 제한된
|
||||
`authorization-unavailable` 결과로 처리하며 경로와 값은 로그에 표시하지 않는다.
|
||||
|
||||
현재 설치 파일의 해시를 그 자리에서 계산했다는 이유만으로 승인 값으로 사용해서는 안
|
||||
된다. 벤더 배포본 또는 기존에 독립 검수된 증적과 대조한 값을 사용한다. 파일 ACL은 현재
|
||||
개발 사용자와 관리자만 수정할 수 있도록 유지한다.
|
||||
수동 생성·교체 시에는 현재 설치 파일의 해시를 그 자리에서 계산했다는 이유만으로 승인 값으로
|
||||
사용해서는 안 된다. 벤더 배포본 또는 기존에 독립 검수된 증적과 대조한 값을 사용한다. 일반
|
||||
첫 실행에서는 위 지속 K3D pin을 먼저 만들거나 대조한 뒤 같은 기준값으로 이 승인 파일을
|
||||
발급한다. 파일 ACL은 현재 개발 사용자와 관리자만 수정할 수 있도록 유지한다.
|
||||
|
||||
## 기존 playout.local.json
|
||||
|
||||
|
||||
Reference in New Issue
Block a user