Skip to content

Latest commit

ย 

History

History
117 lines (101 loc) ยท 6.56 KB

File metadata and controls

117 lines (101 loc) ยท 6.56 KB

Repository instructions

Public documentation contract

  • ์ƒ์„ธ ๊ธฐ์ค€์€ docs/contributing/index.md๋ฅผ ๋‹จ์ผ ์„ค๋ช… ๋ฌธ์„œ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ณต๊ฐœ ๊ธฐ์ˆ  ๋ฌธ์„œ๋Š” docs/services/<service>/<topic>[/<child>]/index.md topic package๋กœ ์ž‘์„ฑํ•œ๋‹ค.
  • topic entry๋Š” <topic>/index.md์ด๋ฉฐ topic_order๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค. ์—ฐ๊ฒฐ๋œ ์ž์‹ ๋ฌธ์„œ๋Š” <topic>/<child>/index.md์— ๋‘๊ณ  topic_order๋ฅผ 1๋ถ€ํ„ฐ ์ค‘๋ณต ์—†์ด ์—ฐ์†์œผ๋กœ ์ง€์ •ํ•œ๋‹ค.
  • document_type์€ case, guide, lab, research ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ collection ํ˜ธํ™˜ ์ƒ‰์ธ๊ณผ ์ˆ˜๋ช…์ฃผ๊ธฐ ๊ทœ์น™์„ ์„ ํƒํ•œ๋‹ค. ๋ฌผ๋ฆฌ ๊ฒฝ๋กœ์—๋Š” collection ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • Azure ์ œํ’ˆ์˜ <service>๋Š” azure-์™€ ๊ณต์‹ ์ „์ฒด ์ œํ’ˆ๋ช…์„ kebab-case๋กœ ์กฐํ•ฉํ•œ๋‹ค. ์ด๋ฆ„์ด Microsoft๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ œํ’ˆ์€ microsoft- slug๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๊ทธ ๋ฐ–์˜ ์ œํ’ˆ์€ ๊ณต์‹ ํ”„๋กœ์ ํŠธยท์ œํ’ˆ๋ช…์„ kebab-case๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • ์ƒˆ ์„œ๋น„์Šค, ๊ธฐ์ˆ  ๋˜๋Š” ํƒœ๊ทธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งŒ docs-taxonomy.yml์„ ํ•จ๊ป˜ ์ˆ˜์ •ํ•œ๋‹ค.
  • ํƒœ๊ทธ๋Š” taxonomy์˜ tag_groups์— ์†ํ•œ ํ†ต์ œ ๊ฐ’ 1โ€“4๊ฐœ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค. ๋ชฉ์  ํƒœ๊ทธ๋ฅผ ์ฃผ์ œ ํƒœ๊ทธ๋ณด๋‹ค ์•ž์— ๋‘๊ณ  ์ค‘๋ณตยท๋ฏธ์‚ฌ์šฉ ํƒœ๊ทธ๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๋Š”๋‹ค. Kubernetes ๊ฐ™์€ ๊ธฐ์ˆ ์€ technologies๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
  • ๊ฐœ๋ณ„ ๋ฌธ์„œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด mkdocs.yml, docs/.nav.yml, README ๋˜๋Š” ์ˆ˜๋™ ๋ฌธ์„œ ๋ชฉ๋ก์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค.

Topic samples and redirects

  • ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ์ ํŠธ, ๋ฐฐํฌ ๋งค๋‹ˆํŽ˜์ŠคํŠธ์™€ ๋Œ€์šฉ๋Ÿ‰ ๊ฒฐ๊ณผ๋ฌผ์€ docs/services/<service>/<topic>/samples/<sample>/์— ๋‘”๋‹ค.
  • ๊ฐ sample์—๋Š” sample.yml๊ณผ README.md๊ฐ€ ํ•„์š”ํ•˜๋‹ค. manifest์˜ kind๋Š” runnable ๋˜๋Š” artifact์ด๋ฉฐ, used_by๋Š” index ๋˜๋Š” ์ง์ ‘ ์ž์‹ slug๋ฅผ ์ค‘๋ณต ์—†์ด ์ง€์ •ํ•œ๋‹ค.
  • ์ตœ์ƒ์œ„ samples/์—๋Š” ๊ณต๊ฐœ ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ํŽ˜์ด์ง€์—์„œ ๋ Œ๋”๋งํ•  ์ด๋ฏธ์ง€๋งŒ ๊ฐ™์€ bundle์˜ images/์— ๋‘๋ฉฐ ์˜๋ฏธ ์žˆ๋Š” ๋Œ€์ฒด ํ…์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.
  • ์ด์ „ ๊ณต๊ฐœ URL์€ canonical ๋ฌธ์„œ์˜ redirect_from์œผ๋กœ ๋ณด์กดํ•œ๋‹ค. redirect ๊ฒฝ๋กœ์— ์›๋ณธ Markdown์„ ๋‹ค์‹œ ๋งŒ๋“ค์ง€ ์•Š๋Š”๋‹ค.

Publishing automation

  • ๋ฉ”๋‰ด ํŠธ๋ฆฌ, ์„œ๋น„์Šค๋ณ„ ๋ณด๊ธฐยท๊ธ€ ์ฐพ๊ธฐ, ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค, collection ํ˜ธํ™˜ ์ƒ‰์ธ๊ณผ ์ด์ „ URL redirect page๋Š” ๋นŒ๋“œ ์‹œ ์ž๋™ ์ƒ์„ฑํ•œ๋‹ค.
  • ๋Œ€๋ฉ”๋‰ด๋Š” ํ™ˆ, ์„œ๋น„์Šค๋ณ„ ๋ณด๊ธฐ, ๊ธ€ ์ฐพ๊ธฐ, ๊ธฐ์—ฌํ•˜๊ธฐ๋‹ค. ์„œ๋น„์Šค branch ์•„๋ž˜์—๋Š” canonical topic entry์™€ ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ์ž์‹ ๋ฌธ์„œ๋งŒ ๋ฐฐ์น˜ํ•œ๋‹ค. redirect page์™€ collection ํ˜ธํ™˜ ์ƒ‰์ธ์€ ์ด branch์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.
  • ์„œ๋น„์Šค ๋ชฉ๋ก์€ front matter์˜ services ์ „์ฒด๋ฅผ ๋ฐ˜์˜ํ•œ๋‹ค. ์‚ฌ์ด๋“œ๋ฐ”์—๋Š” ๊ฒฝ๋กœ์˜ ๋Œ€ํ‘œ ์„œ๋น„์Šค ์•„๋ž˜ ์›๋ณธ topic์„ ํ•œ ๋ฒˆ๋งŒ ๋ฐฐ์น˜ํ•œ๋‹ค.
  • ํƒœ๊ทธ ๋งํฌ๋Š” /explore/?tag=<slug>๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค. ๊ธ€ ์ฐพ๊ธฐ๋Š” ๋ชจ๋“  ์ฃผ์ œ๋ฅผ canonical topic ์นด๋“œ๋กœ ๋ฌถ๊ณ  ์ฃผ์ œ ์ˆ˜์™€ ๋ฌธ์„œ ์ˆ˜๋ฅผ ํ•จ๊ป˜ ํ‘œ์‹œํ•œ๋‹ค. ์—ฌ๋Ÿฌ ํƒœ๊ทธยท์„œ๋น„์Šคยท๊ธฐ์ˆ ยท์ œ๋ชฉ/์„ค๋ช… ๊ฒ€์ƒ‰์–ด๋Š” ๊ฐ™์€ ๋ฌธ์„œ์— AND๋กœ ์ ์šฉํ•œ๋‹ค. topic ์•ˆ์—์„œ ๋ถˆ์ผ์น˜ ๋ฌธ์„œ๋Š” ์ˆจ๊ธฐ๊ณ  ์ผ์น˜ ๋ฌธ์„œ๋ณ„ ์ง์ ‘ ๋งํฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
  • ๊ธ€ ์ฐพ๊ธฐ ์ œ๋ชฉยท์„ค๋ช… ๊ฒ€์ƒ‰์˜ URL ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ text๋‹ค. Material ์ „์ฒด ๊ฒ€์ƒ‰์ด ์†Œ์œ ํ•œ q๋Š” ๊ธ€ ์ฐพ๊ธฐ ํ•„ํ„ฐ๋‚˜ ์˜ค๋ฅ˜๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ์•Š๊ณ , URL ๊ฐฑ์‹ ยท์ดˆ๊ธฐํ™” ์‹œ ํ˜„์žฌ ์ฃผ์†Œ์— ์žˆ๋Š” ๊ฐ’์„ ๋ณด์กดํ•œ๋‹ค.
  • /tags/, /articles/๋Š” /explore/๋กœ redirectํ•œ๋‹ค. ์ด์ „ ํƒœ๊ทธ ์ฃผ์†Œ๋Š” taxonomy์˜ legacy_tag_redirects๋งŒ์œผ๋กœ ๋ณด์กดํ•˜๋ฉฐ ๋ฌธ์„œ๋ณ„ legacy ํƒœ๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. redirect page๋Š” ๋ฉ”๋‰ด์™€ ๊ฒ€์ƒ‰์—์„œ ์ œ์™ธํ•œ๋‹ค.
  • ํ™ˆ ๋Œ€ํ‘œ ๊ธ€์€ topic entry์˜ featured: true๋กœ ์ง€์ •ํ•œ๋‹ค. ์ƒ์„ฑ๊ธฐ์— ํŠน์ • ๋ฌธ์„œยท์„œ๋น„์Šคยทํƒœ๊ทธ ๊ฒฝ๋กœ๋‚˜ ์ œ๋ชฉ ๋ชฉ๋ก์„ ํ•˜๋“œ์ฝ”๋”ฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • sample ํŒŒ์ผ์€ public-safety ๊ฒ€์‚ฌ ๋Œ€์ƒ์ด์ง€๋งŒ MkDocs ์‚ฌ์ดํŠธ์™€ ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค์—๋Š” ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค.

Content lifecycle

  • ๋ฐœ์ƒ ์‹œ์ ์˜ ํ™˜๊ฒฝ, ๊ด€์ธก๊ฐ’, ์กฐ์‚ฌ์™€ ํ•ด๊ฒฐ ์ด๋ ฅ์€ document_type: case๋กœ ๋ณด์กดํ•œ๋‹ค.
  • ํ˜„์žฌ ๊ถŒ์žฅ ์ ˆ์ฐจ, ์ง€์› ์ƒํƒœ์™€ ๋ฒ„์ „๋ณ„ ์ฐจ์ด๋Š” document_type: guide์—์„œ ๊ณ„์† ๊ฐฑ์‹ ํ•œ๋‹ค.
  • ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ์‹ค์Šต์€ document_type: lab, ๋น„๊ตยท๋ฒค์น˜๋งˆํฌยท์•„ํ‚คํ…์ฒ˜ ์กฐ์‚ฌ๋Š” document_type: research๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๋‹น์‹œ ์ฆ๊ฑฐ๋ฅผ ๋ณด์กดํ•˜๋Š” ์‚ฌ๋ก€์™€ ํ˜„์žฌ ์ ˆ์ฐจ๋ฅผ ๊ฐฑ์‹ ํ•˜๋Š” ๊ฐ€์ด๋“œ์˜ ์ˆ˜๋ช…์ฃผ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋ฉด ๋ฌธ์„œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ณ  related_casesยทrelated_guides๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค.

Official-source verification

  • Microsoft ๋˜๋Š” Azure์˜ ๋™์ž‘, ์ง€์› ์—ฌ๋ถ€, ์ œํ•œ, ๋ฒ„์ „, ๊ตฌ์„ฑ ๋‹จ๊ณ„, CLI/API ์‚ฌ์šฉ๋ฒ•์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ฐ”๊ฟ€ ๋•Œ repository skill verify-with-microsoft-learn์„ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•œ๋‹ค.
  • Microsoft Learn MCP ๊ฒ€์ƒ‰ ๋’ค ์„ ํƒํ•œ ์›๋ฌธ ์ „์ฒด๋ฅผ ์กฐํšŒํ•˜๊ณ  ์ฃผ์žฅ๊ณผ ์ ์šฉ ๋ฒ”์œ„๋ฅผ ๋น„๊ตํ•œ๋‹ค.
  • official_sources, sources_checked_at, verification_status๋Š” ์‹ค์ œ ๊ฒ€์ฆ ๊ฒฐ๊ณผ์™€ ์ผ์น˜์‹œํ‚จ๋‹ค. URL๋งŒ ์ถ”๊ฐ€ํ•œ ๊ฒƒ์€ ๊ฒ€์ฆ์ด ์•„๋‹ˆ๋‹ค.
  • Microsoft Learn์ด ์ตœ์ข… ๊ถŒ์œ„๊ฐ€ ์•„๋‹Œ KubernetesยทCNCF ์„ธ๋ถ€ ๋™์ž‘์€ upstream ๊ณต์‹ ๋ฌธ์„œ๋„ ํ•จ๊ป˜ ํ™•์ธํ•œ๋‹ค.
  • ์˜๋ฏธ ๊ฒ€์ฆ์„ ์™„๋ฃŒํ•˜์ง€ ๋ชปํ•˜๋ฉด verification_status: needs-review๋กœ ๋‚จ๊ธฐ๊ณ  ์™„๋ฃŒํ–ˆ๋‹ค๊ณ  ํ‘œํ˜„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

Public safety

  • ๊ณ ๊ฐยท์กฐ์งยท์‚ฌ์šฉ์ž ์‹ค๋ช…, ๊ตฌ๋…ยทํ…Œ๋„ŒํŠธ ID, ๋น„๋ฐ€, ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด, ๋‚ด๋ถ€ URLยทIPยทํ˜ธ์ŠคํŠธ๋ช…, ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๋กœ๊ทธ์™€ ์Šน์ธ๋˜์ง€ ์•Š์€ ํ™”๋ฉด์„ ๊ณต๊ฐœ ๋ฌธ์„œ๋‚˜ sample์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค.
  • ์‹ค์ œ ์‹๋ณ„์ž๋Š” ๋ฌธ์„œ์™€ sample ์ „์ฒด์—์„œ ์ผ๊ด€๋œ ๊ฐ€์ƒ ๊ฐ’์œผ๋กœ ์น˜ํ™˜ํ•œ๋‹ค.
  • .azure/, .claude/, .DS_Store, sim-env.json๊ณผ ์‹คํ–‰ ์ค‘ ์ƒ์„ฑ๋œ evidence/๋Š” ๋กœ์ปฌ ์ƒํƒœ์ด๋ฉฐ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • ๊ณต์œ  ๊ฐœ๋ฐœ ์„ค์ •, ์˜ˆ์ œ ์ž…๋ ฅ๊ณผ ๋น„์‹๋ณ„ํ™”ํ•œ ๊ณต๊ฐœ sample์€ ๋กœ์ปฌ ์ƒํƒœ์™€ ๊ตฌ๋ถ„ํ•ด ์œ ์ง€ํ•œ๋‹ค.

Required validation

๋ฌธ์„œ ๋˜๋Š” ์‚ฌ์ดํŠธ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•œ ๋’ค ์ €์žฅ์†Œ ๋ฃจํŠธ์—์„œ ์‹คํ–‰ํ•œ๋‹ค.

python -m pytest tests/docs -q
python scripts/docs/validate_metadata.py
python scripts/docs/validate_sources.py
python scripts/docs/validate_links.py
python scripts/docs/validate_public_safety.py
mkdocs build --strict
python scripts/docs/validate_search_index.py
python scripts/docs/audit_pre_pages.py

ํ…Œ์ŠคํŠธ๋‚˜ ๊ฒ€์ฆ ์‹คํŒจ๋ฅผ ๋ฌด์‹œํ•˜๊ฑฐ๋‚˜ ์ƒ์„ฑ๋œ site/ ๋ฐ ๊ฒ€์ƒ‰ ์ธ๋ฑ์Šค๋ฅผ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š๋Š”๋‹ค. python scripts/docs/audit_pre_pages.py๋Š” ์ „์ฒด Git ์ด๋ ฅ์ด ํ•„์š”ํ•˜๋ฉฐ ์ž์„ธํ•œ ๊ธฐ์ค€๊ณผ ์‹คํ–‰ ์ง€์นจ์€ docs/contributing/index.md๋ฅผ ๋”ฐ๋ฅธ๋‹ค. sample ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณ„๋„ ํ…Œ์ŠคํŠธ๋‚˜ ์˜์กด์„ฑ์€ ํ•ด๋‹น sample ๋ณ€๊ฒฝ ๋ฒ”์œ„์—์„œ๋งŒ ์‹คํ–‰ํ•œ๋‹ค.