Scripts And Assets Short Runbook¶
이 문서를 볼 때¶
docs/scripts하위 자동화 스크립트를 찾을 때- 기존 서버 audit, infra snapshot backup, SSL 발급, OS bootstrap, GitLab policy check를 수행할 때
- MkDocs assets가 문서 사이트에 필요한 파일인지 판단할 때
스크립트 맵¶
| 목적 | 파일 |
|---|---|
| MkDocs shared assets symlink setup | ../scripts/setup-mkdocs-shared-assets.cmd, ../scripts/setup-mkdocs-shared-assets.ps1 |
| OS bootstrap | ../docs/scripts/os/os-bootstrap.sh |
| SSL webroot 발급 보조 | ../docs/scripts/nginx-ssl/ssl-webroot.sh |
| Linux infra audit | ../docs/scripts/audit/linux-infra-audit.sh |
| Windows infra audit | ../docs/scripts/audit/windows-infra-audit.ps1 |
| Windows audit launcher | ../docs/scripts/audit/windows-infra-audit.cmd |
| Windows server audit launcher | ../docs/scripts/audit/windows-infra-audit-server.cmd |
| Windows PC audit launcher | ../docs/scripts/audit/windows-infra-audit-pc.cmd |
| GitLab policy check | ../docs/scripts/gitlab/gitlab-policy-check.sh |
| Linux ops server backup | ../docs/scripts/linux-ops-server-backup/backup-infra-snapshot.sh |
| Ops file normalization | ../docs/scripts/tools/Normalize-OpsFiles.ps1 |
사용 전 공통 점검¶
- 운영 서버에서 실행하는
.sh파일은 CRLF/BOM 제거 bash -n문법 확인- root 권한이 필요한 스크립트인지 확인
- credential 출력 여부 확인
- 실행 후 생성되는 파일의 권한 확인
중단 조건¶
- 실제 credential이 repository에 저장된 상태
- backup 대상에 secret이 포함되는데 보관 위치 권한이 미정
- audit 결과를 외부 공유해야 하는데 redaction 기준이 미정
- SSL 발급 대상 도메인의 DNS와 80 포트 접근이 미준비
검증 명령¶
sudo bash -n docs/scripts/os/os-bootstrap.sh
sudo bash -n docs/scripts/nginx-ssl/ssl-webroot.sh
sudo bash -n docs/scripts/audit/linux-infra-audit.sh
sudo bash -n docs/scripts/gitlab/gitlab-policy-check.sh
sudo bash -n docs/scripts/linux-ops-server-backup/backup-infra-snapshot.sh
sudo find docs/scripts -maxdepth 4 -type f
MkDocs assets¶
GitLab에서 프로젝트를 로컬로 클론한 뒤에는 루트 스크립트로 shared assets 심링크를 만든다.
.\scripts\setup-mkdocs-shared-assets.cmd
연결 기준:
../docs/stylesheets->../stylesheets../docs/javascripts->../javascripts../docs-runbook/stylesheets->../stylesheets../docs-runbook/javascripts->../javascripts
이 파일들은 문서 사이트 렌더링 보조 파일이다. 서버 구축 작업 인덱스에서는 보통 직접 열 필요가 없다.