상태 페이지
- GitLab 12.10에서 도입되었습니다.
GitLab 상태 페이지를 사용하면 사고 발생 중에 사용자들에게 효율적으로 커뮤니케이션할 수 있는 정적 웹사이트를 만들고 배포할 수 있습니다. 상태 페이지 랜딩 페이지에는 최근 사건에 대한 개요가 표시됩니다:
사건을 선택하면 해당 사건에 대한 자세한 정보가 표시되는 상세 페이지가 표시됩니다:
- 사건에 대한 상태, 사건이 마지막으로 업데이트된 시간을 포함합니다.
- 사건 제목 및 이모지 포함
- 사건 설명, 이모지 포함
- 사건 설명 또는 유효한 이미지 확장자가 있는 댓글로 제공된 파일 첨부물. GitLab 13.1에서 도입되었습니다.
- 사건에 대한 시간순으로 정렬된 업데이트 목록.
상태 페이지 설정
GitLab 상태 페이지를 구성하려면 다음을 수행해야 합니다:
- 클라우드 제공업체 정보로 GitLab 구성합니다.
- AWS 계정 구성.
- GitLab에 상태 페이지 프로젝트 생성.
- 사건들을 상태 페이지에 동기화합니다.
클라우드 제공업체 정보로 GitLab 구성
AWS S3만 배포 대상으로 지원됩니다.
전제 조건:
- 적어도 Maintainer 역할이 있어야 합니다.
GitLab에 제공된 AWS 계정 정보를 통해 Status Page로 컨텐츠를 푸시할 수 있도록 설정하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 모니터를 선택합니다.
- 상태 페이지를 확장합니다.
- 활성화 확인란을 선택합니다.
- Status Page URL 상자에 외부 상태 페이지의 URL을 제공합니다.
- S3 버킷 이름 상자에 S3 버킷의 이름을 입력합니다. 자세한 내용은 버킷 구성 문서를 참조하세요.
- AWS 지역 상자에 버킷의 지역을 입력합니다. 자세한 내용은 AWS 문서를 참조하세요.
- AWS 액세스 키 ID 및 AWS 비밀 액세스 키를 입력합니다.
- 변경 사항 저장을 선택합니다.
AWS 계정 구성
- AWS 계정 안에서 다음 파일들을 사용하여 두 개의 새 IAM 정책을 생성합니다:
- 버킷 생성.
-
버킷 내용 업데이트 (주의:
S3_BUCKET_NAME
을 자신의 버킷 이름으로 교체하세요).
- 첫 번째 단계에서 생성된 권한 정책을 사용하여 새 AWS 액세스 키를 생성합니다.
상태 페이지 프로젝트 생성
AWS 계정을 구성한 후에는 상태 페이지 프로젝트를 추가하고 Status Page를 AWS S3에 배포하기 위한 필수 CI/CD 변수를 구성해야 합니다:
- 상태 페이지 프로젝트를 Fork합니다. 최신 상태 페이지 기능을 얻을 수 있도록 저장소 미러링을 사용하세요.
- 왼쪽 사이드바에서 설정 > CI/CD를 선택합니다.
- 변수를 확장합니다.
- Amazon 콘솔에서 다음 변수들을 추가합니다:
-
S3_BUCKET_NAME
- Amazon S3 버킷의 이름. 제공된 이름의 버킷이 없으면 첫 번째 파이프라인 실행 시 하나를 생성하고 정적 웹사이트 호스팅을 구성합니다. -
AWS_DEFAULT_REGION
- AWS 지역. -
AWS_ACCESS_KEY_ID
- AWS 액세스 키 ID. -
AWS_SECRET_ACCESS_KEY
- AWS 비밀.
-
- 왼쪽 사이드바에서 빌드 > 파이프라인을 선택합니다.
- S3에 상태 페이지를 배포하려면 파이프라인 실행을 선택합니다.
경고: 이 프로젝트에서 이슈에 접근할 수 있는 사용자는 사건에 댓글을 게시할 수 있으므로 이 프로젝트의 이슈에 접근할 수 있는 사용자를 제한하는 것을 고려하세요.
상태 페이지로 사건 동기화
CI/CD 변수를 만든 후에는 Incident 이슈에 사용할 Project를 구성해야 합니다:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 모니터를 선택합니다.
- 상태 페이지를 확장합니다.
- 클라우드 제공자의 자격 증명을 입력하고 활성화 확인란을 선택합니다.
- 변경 사항 저장을 선택합니다.
GitLab 상태 페이지 사용 방법
GitLab 인스턴스를 구성한 후, 관련 업데이트가 발생하면 백그라운드 작업이 트리거되어 해당 사건에 대한 JSON 형식의 데이터를 외부 클라우드 공급업체에 푸시합니다. 상태 페이지 웹 사이트는 정기적으로 이 JSON 형식의 데이터를 가져와서 사용자에게 제공되며, 팀에서 추가 노력없이 진행 중인 사건에 대한 정보를 형식화하여 표시합니다.
사건 발행
사건을 발행하려면:
- GitLab 상태 페이지 설정을 사용한 프로젝트에서 이슈를 생성합니다.
-
프로젝트 또는 그룹 소유자는
/publish
빠른 조치를 사용하여 해당 이슈를 GitLab 상태 페이지에 발행해야 합니다. 기밀 이슈는 발행할 수 없습니다.
백그라운드 워커는 설정 중에 제공한 자격 증명을 사용하여 해당 이슈를 상태 페이지에 발행합니다. 발행 과정에서 GitLab은:
- 사용자 및 그룹 메이션을
사건 대응자(Incident Responder)
로 익명화합니다. - 비공개 GitLab 참조의 제목을 제거합니다.
- 사건 이슈 설명에 첨부된 파일을 발행하며, 이 경우 이슈 당 최대 5000개의 파일이 허용됩니다. (GitLab 13.1에서 도입.)
발행 후, 사건의 세부 정보 페이지에 액세스하려면 사건 제목 아래에 표시된 상태 페이지에 발행됨 버튼을 선택할 수 있습니다.
사건 업데이트
사건에 대한 업데이트를 발행하려면 사건 이슈의 설명을 업데이트합니다.
경고: 참조된 이슈가 변경되면(제목 또는 기밀 여부와 같이), 해당 이슈와 관련된 사건은 업데이트되지 않습니다.
사건에 대한 코멘트 발행
상태 페이지 사건에 코멘트를 발행하려면:
- 사건 이슈에 코멘트를 작성합니다.
- 코멘트를 발행하려면 코멘트에 마이크 이모지 반응(
:microphone:
🎤)을 추가하여 코멘트를 발행할 준비가 되었음을 표시합니다. - 코멘트에 첨부된 파일(이슈 당 최대 5000개)도 발행됩니다. (GitLab 13.1에서 도입.)
경고: 이슈 보기 권한이 있는 사용자는 코멘트에 이모지 반응을 추가할 수 있으므로, 이슈 액세스를 팀 멤버에게만 허용하는 것을 고려해야 합니다.
사건 상태 업데이트
open
상태의 사건을 closed
상태로 변경하려면 GitLab에서 해당 사건 이슈를 닫으세요. 이슈를 닫으면 백그라운드 워커가 GitLab 상태 페이지 웹 사이트를 업데이트합니다.
만약 발행된 이슈를 기밀 상태로 만든다면, GitLab은 해당 이슈를 GitLab 상태 페이지 웹 사이트에서 발행 해제합니다.