Готовили релиз нашего нового решения для 1С по отправке СМС-подтверждений и столкнулись с классической задачей. Документацию мы ведем в Markdown. Это удобно для нас, но не для конечного клиента.
Клиенту нужен привычный PDF. Простой и надежный.
Главный вопрос: как автоматически собирать несколько
.md файлов с картинками в один PDF-файл прямо в пайплайне GitLab CI? Особенно когда твои раннеры работают на PowerShell под Windows, как у нас.Решение нашлось в связке Docker и Pandoc. Вот пошаговый план:
Основа: Берем готовый Docker-образ с Pandoc.
Подготовка: Внутрь контейнера копируем нашу папку
docs с Markdown-файлами.Сборка: Запускаем Pandoc, который конвертирует все файлы в единый PDF.
Выгрузка: Копируем готовый PDF из контейнера и сохраняем его как артефакт в GitLab.
Подход универсален, неважно, где запущен Docker. Вся логика инкапсулирована в контейнере.
Подробно описал как все это настроить в Gitlab CI и выложи ссылки на github 👉 здесь
Получилось неплохо