첫 빌드
이 워크스루는 사용자 지정 이미지 하나를 만들고, 검증하고, 빌드하고, 검사합니다. 검증된 레시피는 구성 확인이며, ISO가 빌드되었거나 요청한 모든 동작이 VM 테스트를 통과했다는 증거는 아닙니다.
시작 전
- 대화와 빌드가 계정에 연결되도록 로그인합니다.
- 하나의 운영 체제와 소수의 패키지 또는 서비스로 시작합니다.
- 요청이 충족되었음을 증명할 증거를 정합니다. 패키지 존재, 서비스 상태, 수신 대기 포트, GUI 동작은 서로 다른 assertion입니다.
첫 실행에서는 채팅에 자격 증명과 private 저장소 URL을 넣지 마세요. 비밀은 나중에 지원되는 자격 증명 워크플로로 추가하고 이미지에 구워 넣지 마세요.
1. 결과와 검사 항목을 명시
예:
Build a Debian 13 server image with OpenSSH and curl.
Create a password-locked deploy user in the sudo group.
Verify that the image boots, the deploy user exists, the ssh service is
enabled, and curl is installed. Do not add Docker or a desktop.명시적 제외는 의도적인 최소 이미지와 플래너가 단순히 놓친 요청을 구분하는 데 도움이 됩니다.
2. 레시피 미리보기 검사
최소한 다음을 확인합니다:
base_image가 요청한 배포판과 릴리스와 일치하는지;- 요청한 패키지가
os.packages에 있거나 명시적 feature로 제공되는지; - 사용자, 그룹, 서비스, 네트워킹, installer, desktop 선택이 요청과 일치하는지;
scenarios에 실제로 필요한 검사가 포함되는지;- 요청하지 않은 패키지, desktop, installer, 자격 증명, 외부 저장소가 추가되지 않았는지.
같은 대화에서 변경을 요청하세요. 후속 요청은 활성 레시피에 적용됩니다. Validate Recipe를 사용할 때 백엔드는 직전의 실질적 채팅 요청을 보존하고, 명시적 요구가 아직 빠져 있으면 레시피를 차단합니다. 생성된 제어 문장은 대화 의도를 지울 수 없습니다.
검증은 사용 불가 패키지, 업스트림 장애, 배포판별 빌드 실패, 테스트가 없는 동작을 놓칠 수 있습니다. 미리보기는 제안된 계약으로 읽으세요.
3. 빌드는 한 번만 시작
검증된 미리보기에서 Start Build를 선택합니다. 성공한 클릭은 빌드 ID를 만듭니다. 문제를 보고할 때는 그 ID를 남기세요. 백분율이나 스크린샷만큼 신뢰할 수 있습니다.
빌드 패널에는 queued, planning, configured, building, finalizing, completed, failed, cancelled 같은 상태가 표시될 수 있습니다. queued 빌드는 worker 용량이나 시작 복구를 기다리는 중일 수 있습니다. 표시된 백분율은 진행 추정이지 마감이 아닙니다. 패키징 및 파일시스템 단계마다 소요 시간이 크게 다릅니다.
원래 채팅 보기를 떠나도 라이브 빌드 패널에서 빌드를 계속 따라갈 수 있습니다. 새로고침은 영속 빌드 상태와 이벤트 스트림으로 다시 연결되어야 합니다. 빌드 ID가 생성되지 않았거나 이전 빌드가 종료 상태에 도달했다고 UI가 보고하지 않는 한 Start Build를 반복 클릭하지 마세요.
4. 이미지 완료와 테스트 완료 구분
이미지는 선택한 VM 검증이 종료 상태에 도달하기 전에 끝날 수 있습니다. 둘 다 확인하세요:
- build status: 영속 artifact가 조립되고 확정되었는지;
- test status:
not_run,running,passed,failed, 또는error; - certification status(있는 경우): 구성된 증거 정책의 결과이며, 보편적 보안 또는 하드웨어 인증이 아닙니다.
테스트 세부 정보를 엽니다. 요청한 각 assertion이 예상 guest에 대해 실행되었는지 확인하고 실패 또는 건너뛴 검사를 살펴보세요. 부팅 테스트 통과는 애플리케이션이 열린다는 증거가 아닙니다. 패키지 기록은 서비스가 정상이라는 증거가 아닙니다.
5. artifact 검사 및 다운로드
다운로드 전에 최종 레시피와 패키지/테스트 증거를 요청과 비교하세요. 표시되면 빌드 ID, artifact 파일 이름, 크기, checksum을 기록하세요.
artifact finalization이 완료된 후에만 빌드의 다운로드 동작을 사용하세요. 다운로드 패키지에 ISO와 관련 증거가 포함될 수 있습니다. 다운로드가 Failed to create download package, not found, 또는 다른 JSON 오류를 반환하면:
- 빌드 소유자로 로그인했는지 확인;
- 오래된 대화 카드가 아니라 정확한 빌드를 다시 열기;
- artifact finalization이 완료되었고 ISO가 목록에 있는지 확인;
- 한 번 재시도;
- 빌드 ID, 타임스탬프, 표시된 build/test/finalization 상태, 정확한 오류 텍스트 보고.
소유권 또는 패키징 오류를 우회하려고 재빌드만 하지 마세요. 유용한 진단 상태가 버려지고 빌드 슬롯을 하나 더 쓸 수 있습니다.
6. 의도한 맥락에서 ISO 테스트
OpenFactory VM에서 부팅하는 것은 구성된 가상 환경만 검증합니다. 설치 가능한 desktop은 일회용 디스크에서 installer 경로도 테스트하세요. 물리 배포에서는 대표 하드웨어에서 firmware 모드, storage, graphics, networking, suspend, 입력 장치, 업데이트, recovery를 별도로 테스트하세요.
일반적인 복구 경로
| 증상 | 조치 |
|---|---|
| 레시피는 검증되지만 요청을 누뜨림 | 빌드하지 않음. 빠진 요구를 명시하고 다시 검증 |
| 빌드가 queued | 빌드 ID를 유지하고 queue/recovery 상태 확인. 중복 시작 피하기 |
| 진행이 변하지 않는 것처럼 보임 | 멈춤으로 단정하기 전에 현재 stage와 최근 log 활동 검사 |
| 빌드 실패 | 최종 요약뿐 아니라 첫 원인 오류 읽기. 원인을 이해한 뒤에만 수정 또는 재시도 |
| 테스트 실패 | 제품 결함, assertion 결함, guest 부팅 문제, infrastructure 오류 구분 |
| 다운로드 없음 또는 금지 | 재빌드 전에 소유자 세션, finalization 상태, 정확한 빌드 ID 확인 |