{"id":338,"date":"2024-10-31T20:13:00","date_gmt":"2024-10-31T20:13:00","guid":{"rendered":"http:\/\/blog.firatyasar.com\/?p=338"},"modified":"2025-03-23T20:17:36","modified_gmt":"2025-03-23T20:17:36","slug":"techdocs-ile-belge-olusturma-stratejileri","status":"publish","type":"post","link":"https:\/\/blog.firatyasar.com\/?p=338","title":{"rendered":"TechDocs ile Belge Olu\u015fturma Stratejileri"},"content":{"rendered":"\n<h3><\/h3>\n\n\n\n<p>TechDocs, markdown dosyalar\u0131n\u0131 bir depoda bulunduktan sonra, bu belgeleri Backstage instance\u2019\u0131n\u0131zda yay\u0131nlanacak sayfalara d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in \u00fc\u00e7 a\u015famadan ge\u00e7er: haz\u0131rl\u0131k, \u00fcretim ve yay\u0131na alma. Bu s\u00fcre\u00e7, belgelerinizi kolayca y\u00f6netmek ve sunmak i\u00e7in etkili bir yol sunar. Ancak \u00fcretim ortamlar\u0131nda daha dikkatli yakla\u015f\u0131lmas\u0131 gereken baz\u0131 noktalar da vard\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"532\" src=\"\/wp-content\/uploads\/2025\/03\/image-6-1024x532.png\" alt=\"\" class=\"wp-image-339\" srcset=\"\/wp-content\/uploads\/2025\/03\/image-6-1024x532.png 1024w, \/wp-content\/uploads\/2025\/03\/image-6-300x156.png 300w, \/wp-content\/uploads\/2025\/03\/image-6-768x399.png 768w, \/wp-content\/uploads\/2025\/03\/image-6-1536x797.png 1536w, \/wp-content\/uploads\/2025\/03\/image-6-660x343.png 660w, \/wp-content\/uploads\/2025\/03\/image-6.png 1834w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4>Haz\u0131rl\u0131k A\u015famas\u0131<\/h4>\n\n\n\n<p>\u0130lk a\u015fama, TechDocs\u2019un component\u2019in deposunu ge\u00e7ici bir dizine kopyalayarak belgeleri yerel olarak eri\u015filebilir hale getirmesidir. Bu sayede belgelerin do\u011fru \u015fekilde olu\u015fturulmas\u0131 i\u00e7in gerekli kaynaklara eri\u015fim sa\u011flan\u0131r. Haz\u0131rl\u0131k a\u015famas\u0131, belgelerin olu\u015fturulmas\u0131ndan \u00f6nce gerekli t\u00fcm dosyalar\u0131n toplanmas\u0131n\u0131 sa\u011flar.<\/p>\n\n\n\n<h4>\u00dcretim A\u015famas\u0131<\/h4>\n\n\n\n<p>\u00dcretim a\u015famas\u0131nda, TechDocs, mkdocs-techdocs-core adl\u0131 bir Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc kullanarak statik varl\u0131klar\u0131 olu\u015fturur. Bu Docker g\u00f6r\u00fcnt\u00fcs\u00fc, Python k\u00fct\u00fcphanesi arac\u0131l\u0131\u011f\u0131yla belgeleri olu\u015fturan ve statik varl\u0131klar\u0131 derleyen s\u00fcreci y\u00f6netir. Buradaki \u00f6nemli nokta, belgelerin statik olarak \u00fcretilmesi ve her seferinde dinamik olarak olu\u015fturulmas\u0131 gerekti\u011finde kar\u015f\u0131la\u015f\u0131lan zorluklard\u0131r.<\/p>\n\n\n\n<h4>Yay\u0131na Alma A\u015famas\u0131<\/h4>\n\n\n\n<p>Son a\u015fama, olu\u015fturulan statik varl\u0131klar\u0131n uygun bir yere ta\u015f\u0131narak da\u011f\u0131t\u0131ma sunulmas\u0131d\u0131r. TechDocs, belgeleri d\u00fczg\u00fcn bir \u015fekilde yay\u0131mlamak i\u00e7in bu varl\u0131klar\u0131 depolamak ve eri\u015filebilir hale getirmek i\u00e7in uygun bir y\u00f6ntem gerektirir.<\/p>\n\n\n\n<h4>\u00dcretim Ortamlar\u0131ndaki Zorluklar<\/h4>\n\n\n\n<p>Yukar\u0131da a\u00e7\u0131klanan s\u00fcre\u00e7, ba\u015flamak i\u00e7in olduk\u00e7a basit g\u00f6r\u00fcnse de, \u00fcretim ortam\u0131nda baz\u0131 s\u0131n\u0131rlamalar\u0131 vard\u0131r. \u00d6rne\u011fin, belgelerin olu\u015fturulmas\u0131 i\u00e7in Docker g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fcn kullan\u0131lmas\u0131, bu s\u00fcrecin Kubernetes podlar\u0131nda \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 zorla\u015ft\u0131rabilir. Dockerfile\u2019\u0131n\u0131za Backstage d\u0131\u015f\u0131 ba\u011f\u0131ml\u0131l\u0131klar eklemek istemiyorsan\u0131z, g\u00f6r\u00fcnt\u00fc ikili dosyalar\u0131n\u0131 kullanmak bir se\u00e7enek olabilir, ancak bu da sistemin karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 art\u0131r\u0131r.<\/p>\n\n\n\n<p>Ek olarak, belgeleri an\u0131nda olu\u015fturmak, ilk taleplerde yava\u015flamaya ve birden fazla backend yap\u0131land\u0131rmas\u0131na sahip oldu\u011funuzda tekrarlanan i\u015f y\u00fcklerine yol a\u00e7abilir. Her bir backend i\u00e7in belgelerin yeniden olu\u015fturulmas\u0131 gerekti\u011finden, kaynak kodunun her seferinde \u00e7ekilmesi g\u00fcvenlik beklentilerinizi kar\u015f\u0131lamayabilir.<\/p>\n\n\n\n<h4>D\u0131\u015f Kaynaklarla Belgeleri Yay\u0131nlama<\/h4>\n\n\n\n<p>Bu nedenlerden dolay\u0131, TechDocs\u2019u dahili \u00fcretimden \u00e7\u0131karmay\u0131 tercih edebilirsiniz. Bunun i\u00e7in TechDocs annotation\u2019\u0131nda <code>techdocs.builder<\/code> de\u011ferini <code>external<\/code> olarak belirleyebilir ve belgeleri bir bulut depolama alan\u0131nda yay\u0131nlayabilirsiniz. Genellikle, CI sisteminizi kullanarak belgelerinizi olu\u015fturabilir ve bir Pull Request (PR) birle\u015fti\u011finde otomatik olarak bu belgeleri olu\u015fturabilirsiniz. Daha sonra, olu\u015fturulan varl\u0131klar bir Cloud Storage\u2019a, \u00f6rne\u011fin bir S3 Bucket\u2019a yay\u0131nlan\u0131r ve Backstage instance\u2019\u0131n\u0131z gerekli oldu\u011funda bu belgeleri okur.<\/p>\n\n\n\n<h4>TechDocs Mimarisi<\/h4>\n\n\n\n<p>TechDocs\u2019un mimarisi, belge olu\u015fturma s\u00fcrecini \u00e7ok daha verimli ve \u00f6l\u00e7eklenebilir hale getirmeyi ama\u00e7lar. Bu mimari, Backstage Software Catalog ve Developer Platform\u2019da entegre bir \u015fekilde \u00e7al\u0131\u015farak, geli\u015ftiricilerin kolayca eri\u015febilece\u011fi ve g\u00fcncelleyebilece\u011fi bir belge y\u00f6netim sistemi sunar.<\/p>\n\n\n\n<h4>TechDocs Yazma<\/h4>\n\n\n\n<p>TechDocs, MkDocs\u2019u kullanarak belgelerinizi olu\u015fturur ve Material for MkDocs stilini kullanarak stilize eder. Bu, belgelerinizi yazarken Backstage ile ilgili \u00f6zel bir gereksinim olmad\u0131\u011f\u0131 anlam\u0131na gelir. Markdown dosyalar\u0131n\u0131z\u0131 ve konfig\u00fcrasyonlar\u0131n\u0131z\u0131 yazarken, MkDocs\u2019la genellikle kulland\u0131\u011f\u0131n\u0131z yollar\u0131 takip edebilirsiniz.<\/p>\n\n\n\n<p>Yazma a\u015famas\u0131nda, standart markdown kullanabilirsiniz. \u00dcretim s\u00fcrecini y\u00f6neten Python k\u00fct\u00fcphanesi, standart markdown s\u00f6zdizimi ile uyumludur ve \u00e7ok k\u00fc\u00e7\u00fck farklar d\u0131\u015f\u0131nda herhangi bir farkl\u0131l\u0131k bulunmaz. Belgelerinizdeki dosyalar\u0131 ba\u011flarken, standart relatif markdown ba\u011flant\u0131lar\u0131 kullanabilirsiniz.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" width=\"1024\" height=\"640\" src=\"\/wp-content\/uploads\/2025\/03\/image-7-1024x640.png\" alt=\"\" class=\"wp-image-340\" srcset=\"\/wp-content\/uploads\/2025\/03\/image-7-1024x640.png 1024w, \/wp-content\/uploads\/2025\/03\/image-7-300x188.png 300w, \/wp-content\/uploads\/2025\/03\/image-7-768x480.png 768w, \/wp-content\/uploads\/2025\/03\/image-7-660x413.png 660w, \/wp-content\/uploads\/2025\/03\/image-7.png 1260w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4>Sonu\u00e7<\/h4>\n\n\n\n<p>TechDocs, yaz\u0131l\u0131m geli\u015ftirme s\u00fcre\u00e7lerinde d\u00f6k\u00fcmantasyonun olu\u015fturulmas\u0131 ve yay\u0131na al\u0131nmas\u0131 i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Ancak, \u00fcretim ortamlar\u0131na ge\u00e7meden \u00f6nce s\u00fcrecin baz\u0131 k\u0131s\u0131mlar\u0131n\u0131 d\u0131\u015fsalla\u015ft\u0131rarak daha verimli bir hale getirmek \u00f6nemlidir. Bu sayede, belgelerinizin do\u011fru ve g\u00fcvenli bir \u015fekilde olu\u015fturulmas\u0131n\u0131 sa\u011flayarak, organizasyon i\u00e7indeki herkesin ihtiya\u00e7 duydu\u011fu bilgilere kolayca eri\u015fmesini m\u00fcmk\u00fcn k\u0131labilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TechDocs, markdown dosyalar\u0131n\u0131 bir depoda bulunduktan sonra, bu belgeleri Backstage instance\u2019\u0131n\u0131zda yay\u0131nlanacak sayfalara d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in \u00fc\u00e7 a\u015famadan ge\u00e7er: haz\u0131rl\u0131k, \u00fcretim ve yay\u0131na alma. Bu s\u00fcre\u00e7, belgelerinizi kolayca y\u00f6netmek ve sunmak i\u00e7in etkili bir yol sunar. Ancak \u00fcretim ortamlar\u0131nda daha dikkatli yakla\u015f\u0131lmas\u0131 gereken baz\u0131 noktalar da vard\u0131r. Haz\u0131rl\u0131k A\u015famas\u0131 \u0130lk a\u015fama, TechDocs\u2019un component\u2019in deposunu ge\u00e7ici bir\u2026 <span class=\"read-more\"><a href=\"https:\/\/blog.firatyasar.com\/?p=338\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":320,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[85,127,128,130,146,147],"_links":{"self":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/338"}],"collection":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=338"}],"version-history":[{"count":1,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/338\/revisions"}],"predecessor-version":[{"id":341,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/posts\/338\/revisions\/341"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=\/wp\/v2\/media\/320"}],"wp:attachment":[{"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=338"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=338"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.firatyasar.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}