Данная статья появилась с целью обобщить довольно длительные попытки собрать удобное окружение для работы над проектами. Несомненно, существует множество сервисов готовых предоставить схожую функциональность, но их использование не всегда удобно и по различным причинам, может быть неприемлемо. Если возникла такая ситуация, надеюсь, представленная в статье конфигурация окажется полезной.
Сценарий использования данной связки, можно кратко описать следующим образом:
- Файлы проекта хранятся в Git репозитории;
- Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
- В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
- Содержимое Git репозитория отслеживается в системе управления проектами Redmine.
План развертывания системы включает настройку следующих сервисов:
- OpenLDAP — единая учётная запись для всех сервисов;
- Redmine — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
- NGINX — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
- ownCloud — LDAP аутентификация и монтирование папки через davfs2.