롤아웃
롤아웃은 하나의 예약 시각을 가진, 이름이 붙은 레코드 버전 묶음입니다. 그 시각이 되면 각 레코드의 지정된 버전을 게시하므로, 여러 레코드에 걸친 캠페인이 함께 공개됩니다.
롤아웃에 담기는 것
롤아웃에는 이름, 예약 시각, 레코드 버전 목록이 있습니다. 시각은 필수이며, 롤아웃이 아직 예약된 상태인 동안에는 이름, 설명, 시각, 항목을 수정할 수 있습니다.
롤아웃에는 레코드 버전만 담깁니다. 모델과 설정의 변경은 릴리스로 배포되며, 롤아웃은 먼저 나가도록 예약된 릴리스를 지정할 수 있습니다. 그러면 릴리스가 콘텐츠보다 앞서 롤아웃의 시각에 배포됩니다. 릴리스가 거부되거나 실패하면 롤아웃은 사유와 함께 실패로 표시되고 콘텐츠는 하나도 게시되지 않습니다.
항목이 실패할 때
모든 항목은 하나의 데이터베이스 트랜잭션에서 각자의 세이브포인트 아래 실행됩니다. 실패한 항목은 그 항목만 롤백되고 실패로 기록됩니다. 나머지는 그대로 게시되며, 트랜잭션이 커밋될 때 함께 보이게 됩니다. 이후 롤아웃은 모든 항목이 성공하면 완료, 일부가 실패하면 부분 완료, 모두 실패하면 실패로 표시됩니다.
제어
예약된 롤아웃은 일찍 트리거하거나, 일시 중지했다가 재개할 수 있으며, 트리거되기 전까지는 삭제할 수 있습니다. 재시도는 실패한 항목만 다시 실행합니다. 롤백은 각 항목의 이전에 게시된 버전을 다시 게시합니다. 롤백은 실행하기 전에 미리 볼 수 있으며, 미리 보기는 이전에 게시된 버전이 없는 항목을 알려 줍니다.
관리하는 곳
롤아웃은 콘솔의 콘텐츠, 예약됨, 롤아웃에서 관리하며, CLI에서는 foir rollouts로, 에이전트 도구로도 관리합니다. 공개 GraphQL API로는 관리하지 않습니다. CI에서 문서화된 패턴은 CLI로 파일에서 롤아웃을 만드는 예약 작업입니다. 롤아웃을 만들려면 schedules:write 권한이 필요합니다.