post-launch
감시자입니다. DNS가 이동한 순간부터 30일 동안 매일 한 번 실행됩니다. 보고만 하며, 결코 차단하거나 수정하거나 알리지 않습니다.
하나의 규칙
블로커는 먼저 읽고 마지막에 발표합니다. 발표는 이 보고서가 깨끗하게 나올 때까지 이루어지지 않습니다 — 이메일, 게시글, 고객 전화 모두 없습니다. 발표는 되돌릴 수 없는 런치의 유일한 단계이며, 여기 두 블로커는 런치가 실제로 일어나지 않은 상태를 정확히 나타냅니다: 아무도 통과할 수 없는 인증서와 검색 엔진에 사이트를 잊으라고 지시하는 noindex입니다. 둘 다 이미 로그인한 브라우저에서는 정상으로 보입니다.
누군가 블로커가 있는 상태에서 발표를 요청한다면, 블로커가 무엇이며 그 비용이 무엇인지 명확히 말하고 누그러뜨리지 마십시오.
읽기 전용
이 스킬은 읽기 전용입니다. 라이브 사이트, 스테이징 호스트, 이전 호스트 및 리디렉션 맵의 URL을 가져오고, 4개의 공개 DNS 리졸버에 도메인이 어디를 가리키는지 질의합니다. 정확히 두 가지만 기록하며, 둘 다 운영자 자신의 기록입니다: 보고서 번들과 그 안의 watch.json입니다. 사이트를 수정하거나, 양식을 제출하거나, 설정을 변경하거나, 공급자 API를 호출하거나, DNS를 건드리지 않습니다.
세 가지 규칙이 있으며, 보고할 때 이를 다시 언급해야 합니다:
- 모든 결과에 대한 증거. URL, 상태, 헤더, DNS 응답, CSV 행.
- 건너뛰기는 통과가 아닙니다. 제공하지 않은 모든 입력은 Not covered에 명명된 행이 됩니다.
Not covered는 절대 통과가 아닙니다. 그 섹션을 사람에게 그대로 반복해야 합니다.
두 가지 모드
| 모드 | 시점 | 답변하는 질문 |
|---|---|---|
--mode cutover | DNS가 이동한 순간 및 수정 후 | 실제로 런치가 일어났는가 |
--mode watch | 1~30일 동안 매일 한 번 | 오늘 마감된 것은 무엇이며, 드리프트가 있는가 |
cutover를 먼저 실행하고, 발견된 것을 수정한 후 다시 실행하여 깨끗해질 때까지 반복한 다음 발표하십시오. 같은 날 watch를 시작하십시오.
1. 입력 수집
빠뜨린 모든 입력은 실행할 수 없는 검사가 됩니다. 각각을 요청하십시오; 추측하지 마십시오.
- 프로덕션 URL. 필수.
baseline.json—pre-launch번들에서, 또는 전환 전 스테이징에 대해 실행된launch-audit실행에서 가져옵니다. 이것이 "무언가 변경되었는가"를 측정하는 기준입니다. 없으면 네 가지 검사는 비교할 대상이 없고 다섯 번째는--expect-analytics로 폴백합니다. 모두 그렇게 말합니다.redirects.csv—--old-url로 구축된launch-audit번들에서 가져옵니다. 모든 행이 작성된 URL에서 다시 요청됩니다.- 이전 사이트의 URL, 교체되는 경우.
- 스테이징 URL, 실행 시 스테이징 복사본이 봉인되었는지 확인할 수 있습니다.
- 애널리틱스 측정 ID, 기준이 없는 경우 사용됩니다.
- 예상되었던 DNS 레코드,
apex=및www=값으로.
기준 또는 리디렉션 맵이 없다면 실행 전에 말하십시오: 이들은 이전 두 단계에서 나오며, 전환 후에는 재생성할 수 없습니다.
2. 전환 확인 실행
스크립트를 실행하십시오; 소스를 읽거나 구현을 다시 작성하지 마십시오.
node scripts/post-launch.mjs --mode cutover --url <production url> \
--baseline <baseline.json 경로> --redirects <redirects.csv 경로> \
--old-url <이전 사이트 url> --staging-url <스테이징 url> \
--expect-analytics <측정 id> --expect-dns apex=<ip>,www=<host> --out <dir>
경로는 이 스킬의 자체 디렉토리를 기준으로 합니다 — 해당 디렉토리에서 명령을 실행하십시오. 번들은 현재 작업 디렉토리 아래에 기록됩니다: --out 없이 ./website-launch/<host>-post-launch-<date>/에 위치하며, 위 명령어로는 이 스킬의 자체 디렉토리 내부가 됩니다. 작업이 있는 곳에 번들을 기록하려면 --out을 사용하십시오.
기타 플래그: --dev-host <host> (반복 가능), --browser auto|on|off, --out <dir>, --config <path>, --json, --help.
종료 코드: 전환이 아무리 나빠도 항상 0입니다. 사용 오류 또는 IO 실패의 경우 2. 종료 0이 "런치가 정상"을 의미하지는 않습니다 — 이는 보고하며 차단하지 않습니다. 보고서를 읽으십시오.
3. 이 순서로 보고서 읽기
references/reading-the-report.md에 번들 레이아웃이 있습니다. references/cutover-day.md는 실행 순서가 왜 그런지 설명합니다 — 순서를 무시하고 수정하기 전에 읽으십시오.
- 블로커. 굵게, 어떤 단계에서 왔든 먼저 출력됩니다. 다른 것보다 먼저, 그리고 누군가에게 사이트가 살아있다고 말하기 전에 수정하십시오.
- 높은 수준의 발견 사항. 리디렉션 드리프트, 누락된 페이지, 죽은 양식 엔드포인트, 라이브 스테이징 복사본, 여전히 서빙 중인 이전 호스트 — 각각은 지금 당장 트래픽이나 문의를 잃고 있는 것입니다. 이번 주가 아닌 오늘의 작업입니다.
- 기준 차이.
references/baseline-diff.md는 런치 시 이동이 예상되는 필드와 절대 이동해서는 안 되는 필드를 설명합니다. 전체 차이를 손상으로 보고하지 말고, 아무도 요청하지 않은 부분만 보고하십시오. - 보통 및 정보. 읽으십시오. 무엇인지 말하십시오. 오늘은 수정하지 마십시오.
- Not covered, 그대로. 모든 행, 편집되지 않은 상태, 크롤링이 볼 수 없는 두 가지를 포함합니다.
그런 다음 블로커가 사라질 때까지 다시 실행하고 계속 다시 실행하십시오.
4. 여섯 가지 사람 작업 수행
매 실행마다 끝에 출력되며 선택 사항이 아닙니다:
sitemap 제출 (Search Console 및 Bing) · 상위 페이지 인덱싱 요청
새 Search Console 속성 확인 · 실시간 애널리틱스 확인
이전 호스트 유지 및 리디렉션 · 깨끗할 때만 발표
남을 대신해 체크하지 마십시오. "엔드포인트가 200을 반환함"은 "사람이 테스트 제출을 받음"이 아니며, "태그가 HTML에 있음"은 "실시간으로 히트가 나타남"이 아닙니다.
5. Watch 실행, 매일
node scripts/post-launch.mjs --mode watch --url <production url> --day <n>
마감된 것, 오늘 마감되는 것, 다음 7일 동안 예정된 것을 출력한 후, 자동화된 부분을 다시 실행하고 실행을 기록합니다. references/thirty-day-watch.md에 전체 일정, 각 날짜에 Search Console과 애널리틱스에서 확인할 사항, 그리고 "정상"이 어떻게 보이는지가 있습니다 — 일반적인 런치 후 하락이 재난으로 보고되지 않도록 합니다.
--day를 생략하면 첫 번째 실행부터 계산합니다. watch가 실행되지 않은 날은 자동화된 작업에 대해 마감된 상태로 남습니다; 사람 작업은 사람이 해결할 때까지 마감된 상태로 남습니다. 스크립트가 하는 어떤 것도 누군가가 Search Console을 열었다는 증거가 아니기 때문입니다.
6. 30일째
두 가지, 둘 다 자동화되지 않았습니다:
- 회고. 무엇이 회귀했는지, 리디렉션 맵이 놓친 것은 무엇인지, 다음 런치에서 반복되지 않도록
pre-launch게이트에 무엇을 추가할 것인지. 기록하십시오. - 이전 호스트 결정. Search Console에 이전 URL의 크롤링이 더 이상 표시되지 않고 그리고 리디렉션이 최소 30일 동안 유지된 경우에만 이전 호스트를 폐기할 수 있습니다. 둘 다 참이 될 때까지 비용을 계속 지불하십시오. 일찍 끄면 이전 사이트가 얻은 모든 링크를 버리는 것입니다.
7. 결과 제시
개수가 아니라 결정문으로 시작하십시오.
- 평결. "전환에 하나의 블로커가 있습니다" 또는 "전환이 깨끗합니다." 한 문장.
- 차단하는 것, 수정 사항을 명시하여.
- 누출되는 것, 원인별로 그룹화: 높은 수준의 발견 사항, 평이한 언어로.
- 기준 대비 변경된 것 중 아무도 요청하지 않은 것.
- Not covered, 그대로.
- 사람 작업, 완료된 것과 완료되지 않은 것.
- 런치가 발표되어도 되는지 여부. 명시적으로, 어느 쪽이든 말하십시오.
실행되지 않는 두 가지 검사
- 카피 대 소스 문서. 라이브 페이지의 단어를 승인된 카피와 비교하지 않습니다. 사람이 둘 다 읽어야 합니다.
- 페이지 대 합의된 범위. 어떤 페이지가 존재해야 했는지 알지 못합니다. 만들어지지 않은 페이지는 여기에서 보이지 않습니다.
참조
| 파일 | 내용 |
|---|---|
references/cutover-day.md | 순서가 있는 일일 스크립트와 각 단계가 그 위치에 있는 이유 |
references/thirty-day-watch.md | 일정, Search Console과 애널리틱스에서 읽을 사항, 정상의 모습, 이전 호스트 규칙 |
references/baseline-diff.md | 모든 차이 필드, 런치 시 예상되는 변경과 예상되지 않는 변경 |
references/reading-the-report.md | 번들, 심각도, ID, 분류 방법 |
위치
pre-launch는 배포 전에 저장소를 차단하고 막습니다. launch-audit는 스테이징 또는 라이브 URL을 크롤링하고 보고합니다. post-launch가 이것입니다: 전환과 그 후 30일. 이 순서로 실행하십시오 — 이 스킬이 필요한 기준과 리디렉션 맵은 처음 두 단계에서만, 그리고 이전 사이트가 여전히 작동 중일 때만 만들 수 있습니다.