1. Введение в Docs as Code и Git
Docs as Code и Git: почему документация должна жить рядом с кодом
Представьте ситуацию: команда выпустила новую версию продукта, разработчики обновили код, но документация осталась описывать старое поведение. Пользователи читают устаревшие инструкции, поддержка тонет в однотипных вопросах, а технический писатель не знает, что именно изменилось. Это не редкость — это стандартная боль большинства команд, которые хранят документацию отдельно от кода.
Docs as Code — подход, который решает эту проблему радикально: документацию начинают вести точно так же, как программный код. Те же инструменты, те же процессы, та же дисциплина.
Почему традиционный подход ломается
Классическая схема выглядит так: документация живёт в Google Docs, Confluence или корпоративной wiki, разработчики пишут код в своих репозиториях, а технический писатель периодически «синхронизирует» одно с другим вручную. На практике эта синхронизация всегда запаздывает.
Конкретные проблемы традиционного подхода:
> Документация слишком часто оказывается в конце списка задач: её начинают писать после релиза, хранят в Word или в корпоративной wiki, а затем забывают обновлять. В результате она быстро устаревает и теряет ценность. > > habr.com
Что такое Docs as Code
Docs as Code (документация как код) — это метод создания технической документации, при котором тексты пишутся в простых текстовых форматах, хранятся в системах контроля версий и проходят через те же процессы проверки и публикации, что и исходный код проекта.
Четыре ключевых принципа подхода:
| Принцип | Что это значит на практике | |---|---| | Текстовые форматы | Документация пишется в Markdown или reStructuredText, а не в Word | | Контроль версий | Файлы хранятся в Git-репозитории с полной историей изменений | | Ревью через Pull Request | Любое изменение проходит проверку коллег перед публикацией | | Автоматическая сборка | При каждом обновлении документация автоматически собирается и публикуется |
Важно понять: Docs as Code — это не конкретный инструмент, а философия работы с документацией. Вы можете использовать GitHub, GitLab или собственный сервер — суть остаётся одной.
Что такое Git и зачем он нужен
Git — это система контроля версий (version control system, или VCS). Проще говоря, это инструмент, который запоминает каждое изменение в ваших файлах: кто изменил, что именно изменил и когда.
Представьте, что вы пишете книгу и каждый день сохраняете её копию с датой в названии: book_2024-01-15.docx, book_2024-01-16.docx. Через месяц у вас 30 файлов, и вы не помните, в какой версии был тот абзац, который вы случайно удалили. Git решает эту проблему элегантно: он хранит не копии файлов, а историю изменений, и позволяет в любой момент вернуться к любой точке этой истории.
Несколько реальных сценариев, где Git незаменим:
Репозиторий (repository, или просто repo) — это папка с проектом, за которой следит Git. Всё, что находится внутри этой папки, Git может отслеживать и версионировать.
Коммит (commit) — это «снимок» состояния файлов в определённый момент времени. Каждый коммит имеет уникальный идентификатор и сообщение, объясняющее, что изменилось. Например: "Добавил раздел про установку на Windows".
!Схема работы Docs as Code: от редактирования файла до публикации через Git
Как Git и Docs as Code работают вместе
Рассмотрим типичный рабочий процесс технического писателя в команде, которая использует Docs as Code.
git clone. Теперь у него есть локальная копия всех файлов.feature/add-installation-guide. Это значит, что основная документация не пострадает, пока ветка не будет проверена и одобрена.git commit с понятным сообщением: "Добавил инструкцию по установке для macOS".git push ветка отправляется на GitHub или GitLab.Весь этот процесс — точная копия того, как разработчики работают с кодом. Именно поэтому подход называется Docs as Code.
Markdown: почему именно он
Markdown — это язык разметки, который позволяет форматировать текст с помощью простых символов. Вместо того чтобы нажимать кнопку «Жирный» в Word, вы пишете жирный текст. Вместо выбора размера заголовка — ставите # в начале строки.
Вот простой пример: чтобы создать заголовок и список в Markdown, достаточно написать:
Это превратится в красиво отформатированный заголовок и нумерованный список на любом сайте или в любом Markdown-редакторе.
Почему Markdown идеально подходит для Docs as Code:
.md можно открыть в любом редакторе — от Notepad до VS Code. Никаких проприетарных форматов.Где хранить документацию: GitHub и GitLab
GitHub и GitLab — это платформы для хранения Git-репозиториев в облаке. Они добавляют к возможностям Git удобный веб-интерфейс: можно просматривать файлы прямо в браузере, создавать Pull Request, оставлять комментарии к изменениям, настраивать автоматическую публикацию.
Разница между ними для новичка минимальна:
| | GitHub | GitLab | |---|---|---| | Популярность | Крупнейшая платформа, огромное сообщество | Меньше, но активно используется в корпоративной среде | | Бесплатный план | Есть, с публичными и приватными репозиториями | Есть, включает встроенный CI/CD | | Публикация документации | GitHub Pages — бесплатный хостинг | GitLab Pages — аналогичный функционал | | Self-hosted | Платно (GitHub Enterprise) | Бесплатно (GitLab CE) |
Для начала обучения отлично подойдёт GitHub — у него самое большое сообщество и больше всего обучающих материалов.
Кому подходит Docs as Code
Подход особенно эффективен в нескольких ситуациях, которые описывает documenterra.ru:
При этом Docs as Code — не серебряная пуля. Для небольшого проекта с редкими обновлениями и командой из одного человека простая wiki может быть удобнее. Главное — понимать, какую проблему вы решаете.
Первый шаг: установка Git
Прежде чем двигаться дальше, нужно установить Git на свой компьютер. Это займёт несколько минут.
На Windows: скачайте установщик с официального сайта git-scm.com и запустите его. Все настройки по умолчанию подходят для начала.
На macOS: откройте Terminal и выполните команду:
Если Git не установлен, система предложит установить Xcode Command Line Tools — соглашайтесь. Либо установите через Homebrew:
На Linux (Ubuntu/Debian):
После установки проверьте, что всё работает:
Затем представьтесь Git — это важно, потому что каждый коммит будет подписан вашим именем и email:
Эти две команды нужно выполнить один раз — Git запомнит настройки для всех будущих проектов. Флаг --global означает, что настройки применяются глобально, ко всем репозиториям на вашем компьютере.
Поздравляем — Git установлен и настроен. В следующих статьях вы создадите свой первый репозиторий документации, научитесь делать коммиты и работать с GitHub. Но уже сейчас важно понимать главное: Docs as Code — это не сложная технология, а способ мышления, при котором документация становится таким же полноценным продуктом, как и код.