6개월 선불 −28% · 1년 선불 −50%요금제 비교
PrivacyNodes
릴리스 엔지니어링

다음 배포를 반복 가능하게 만드세요

반복 가능한 배포에는 알려진 입력, 의도된 순서 및 명확한 중지 조건이 있습니다. 실행 중인 애플리케이션을 변경하기 전에 아티팩트와 데이터베이스 호환성 경계를 기록하세요. 이전 이미지를 재배포하는 것은 가능한 복구 조치 중 하나일 뿐입니다.

PrivacyNodes 엔지니어링 노트 · 검토됨 · 3분 읽기

식별 가능한 입력 수집

비프로덕션 환경에서 빌드할 수 있는 애플리케이션, 소스 및 아티팩트 레지스트리에 대한 접근, 버전 관리되는 구성 스키마 및 외부 시크릿 저장소를 사용하세요. 알려진 작동 릴리스를 유지하세요. 이는 자동화에 대한 입력입니다. PrivacyNodes은 이 웹사이트를 통해 배포 API 또는 파이프라인 러너를 제공하지 않습니다.

다음과 같은 변경 가능한 레이블에 의존하지 말고 아티팩트를 고정하세요 latest. Docker는 정확한 기본 이미지를 식별하기 위한 다이제스트 고정을 문서화하며 업데이트를 의도적으로 검토해야 합니다. 재현성과 패치는 모두 책임입니다. 오래된 취약한 이미지를 영원히 유지하는 것은 유지 관리 계획이 아닙니다.

기술 참조: Docker 빌드 모범 사례.

트래픽 변경 전 릴리스 기록 작성

이것은 실행 가능한 스크립트가 아닌 문서 형식입니다. 검토된 아티팩트에서 자리 표시자를 채우세요. 소스 개정만으로는 환경 변경을 설명하지 못합니다. 관찰된 마이그레이션 기간, 예상 잠금 동작, 구성 차이 및 마지막 작동 아티팩트를 포함하세요.

# Illustrative release record — no credentials
release: reports-api-review-01
source_revision: REVISION_TO_REVIEW
artifact_digest: DIGEST_FROM_YOUR_REGISTRY
configuration_schema: config-v3
migration: add-export-state
old_code_can_read_new_schema: yes
verification:
  - authenticated-read
  - enqueue-and-complete-test-export
  - failed-dependency-behavior
rollback_decision: keep-additive-schema-and-previous-artifact
operator_and_result: TO_BE_RECORDED

애플리케이션이 다운된 동안에도 접근 가능한 곳에 기록을 저장하세요. 값을 포함하지 않고 보호된 복구 자격 증명을 참조하세요. 승격을 중지할 수 있는 유지보수자와 계획된 롤백이 더 이상 유효하지 않은 시점을 명시하세요.

준비와 승격 분리

먼저 아티팩트를 빌드하고 검사합니다. 새 프로세스를 시작하기 전에 구성 및 시크릿 참조를 검증합니다. 이 릴리스에 대해 검토된 스키마 단계만 적용합니다. 의도된 환경에서 새 버전을 시작하고 트래픽을 이동하기 전에 의존성을 확인하세요. 검토되지 않은 파괴적 마이그레이션과 일반 이미지 업데이트를 결합하지 마세요.

Compose에서는 컨테이너가 시작되었다고 해서 준비 상태가 확립되지 않습니다. 의미 있는 상태 검사와 condition: service_healthy 는 의존성 대기를 유용하게 만들 수 있지만 고객 워크플로우를 검증할 수는 없습니다. 애플리케이션은 시작 후 의존성을 사용할 수 없게 되는 상황을 여전히 처리해야 합니다.

기술 참조: Docker Compose 시작 순서.

녹색 포트 이상의 검증

보고 API의 경우 인증된 테스트 요청, 의도한 스키마에 대한 읽기, 하나의 작은 대기열 내보내기 및 해당 파일에 대한 액세스를 확인하세요. 전용 테스트 네임스페이스를 사용하고 프로덕션 알림을 억제하세요. 겹치는 버전이 예약된 작업을 실수로 중복할 수 없는지 확인하세요.

확인 전에 예상 출력을 작성하세요: 올바른 계정 범위, 예상 예제 레코드, 완료된 내보내기 하나, 그리고 승인되지 않은 교차 계정 데이터 없음. 이후 실제 출력과 타이밍을 기록하세요. 워커가 반복적으로 실패하거나 마이그레이션으로 인해 API가 오래된 값을 읽는 경우, HTTP 200을 반환하는 홈 페이지는 충분하지 않습니다.

복구 결정 명시

프로세스가 시작되지 않으면 작동하는 버전으로 트래픽을 유지하세요. 워크플로 검사가 실패하면 프로모션을 중지하고 수정된 증거를 보존하세요. 이전 아티팩트와 호환되는 추가적 스키마는 애플리케이션 롤백을 허용할 수 있습니다. 호환되지 않는 변환 후에는 이전 코드가 안전하지 않을 수 있습니다. 검토된 정방향 수정 또는 데이터 복구 계획을 따르세요.

실패하는 마이그레이션을 무한히 반복하지 마세요. 무엇이 커밋되었는지, 재시도가 안전한지, 사용자가 새 스키마에서 작성했는지 확인하세요. 마이그레이션 가이드 는 열 변경을 통해 이 경계를 발전시킵니다. 롤백 버튼의 존재를 데이터를 되돌릴 수 있다는 증거로 간주하지 마세요.

다른 유지보수자가 따를 수 있는 기록 남기기

배포된 아티팩트 및 구성 식별자를 계획된 기록과 비교하세요. 검사, 실패한 시도 및 선택한 복구 조치를 보존하세요. 마지막으로 작동한 아티팩트를 명시적 보존 정책에 따라 유지하세요. 검증이 불완전한 동안에는 이를 제거하지 마세요.

유용한 리허설을 통해 다른 권한 있는 유지 관리자가 입력을 설명하고, 검사를 반복하고, 셸 기록을 검색하지 않고도 복구 지침을 찾을 수 있습니다. 이는 제로 다운타임이나 미래의 성공을 증명하지 않습니다. 스키마, 워커 동작 또는 종속성이 변경되면 다시 검토하세요. 다음으로, 배포 ID의 권한.

공식 참조

이 문서에 대한 설명서가 검토되었습니다. 예시는 계획 연습이며 PrivacyNodes 서버에서 테스트된 명령이 아닙니다. 설치된 버전의 설명서를 확인하세요.