LINUX.ORG.RU
ФорумAdmin

gitlab + doxygen != автогенерация документации

 ,


0

3

gitlab + doxygen не дружат

Всем привет.

На работе стоит гитлаб, где есть куча проектов. Большая часть из них содержит подробную документацию внутри кода с использованием doc-блоков. На локальном компьютере документация отлично генерируется через doxygen.

Есть задача централизовано генерировать по всем этим проектам документацию на самом сервере gitlab и иметь доступ к ней. Причем, для оперативности процесса, хочется после каждого «git push» на gitlab-сервер, чтобы документация генерировалась заново.

То есть алгоритм такой: На сервер приходят новые коммиты, обновляется git-репозиторий, запускается doxygen по текущему git-репозиторию, doxygen складывает результат своей деятельности в определенную папку в которую смотрит веб-сервер и отдает оттуда результат.

Сейчас я написал post-recieve hook для git'a. Можно посмотреть тут - http://pastebin.com/MecjMUfs

Работает он так: Если в папке с проектом есть doxygen/Doxyfile.cfg, он генерирует имя проекта исходя из его пути и запускает doxygen.

Громадный недостаток в том, что этот скрипт нужно класть вручную в каждый проект на gitlab. Более того, в свежесозданные проекты его тоже нужно будет класть.

Как Вы решаете задачу генерации документации по своему коду?

Может я неправ и мне не нужно чтобы документация генерировалась автоматически? Может быть достаточно скрипта который будет по крону раз в день ходить по всем папкам gitlab-овских репозиториев и генерировать документацию раз в день?


Я что-то запутался. У тебя хук на клиентской или серверной стороне? Если на серверной - в чём проблема?

В настройках репозитария можно указать web hook - правда придется немного покодить, зато URL будешь указывать в свойствах репозитария, а не скрипт класть в сам репозитарий

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Хук на сервере. Проблема в том, что хук нужно ручками копировать в каждый репозиторий.

Неужели всё так делают? Как Вы решаете задачу генерации документации по своему коду?

JANB ()
Ответ на: комментарий от JANB

Как я уже сказал - можно использовать web hook. Они не кладутся в репозитарий, а настраиваются в свойствах репозитария владельцем через веб-интерфейс. И да, вот так наверное все и делают

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Погугли по запросу "Gitlab web hook goxygen" - ни одного валидного ответа. Раз на эту тему нет статей - значит люди так не делают. А как они делают?

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.