2016-09-09 MediaWiki4Intranet — развертываем для разработки и в production c помощью Vagrant и Ansible

From Wiki4Intranet
Jump to: navigation, search
(Created page with "Как быстро бежит время! Проекту MediaWiki4Intranet уже больше десяти лет, а самих попыток натягивать <s>с...")
 
Line 4: Line 4:
 
И изначально все было достаточно просто и понятно — стандартный PHP-проект, в духе «скопируй файлы в настроенный PHP-хостинг», и вообще было не зазорно вести разработку и доработку в винде,  
 
И изначально все было достаточно просто и понятно — стандартный PHP-проект, в духе «скопируй файлы в настроенный PHP-хостинг», и вообще было не зазорно вести разработку и доработку в винде,  
 
под LAMP-окружениями типа XAMPP, и деплоится на линукс-машину через SVN.
 
под LAMP-окружениями типа XAMPP, и деплоится на линукс-машину через SVN.
 +
 +
Поэтому мы и завели такую штуку, как [[Windows-сборка Mediawiki4Intranet]], где обычным каталогом лежали все необходимые утилиты/фреймворки, и любой виндовс-пользователь мог попробовать проект, и даже не приходя в создание начать что-то править и создавать<ref>Вот [http://0x1.tv/2c8-architecture-of-mediawiki-filippov короткая, почти не устаревшая лекция про архитектуру MediaWiki]</ref>.
 +
 +
Но время идет.
 +
 +
MediaWiki из моностекового монолитного PHP-проекта, с классической моделью «генерации страницы на сервере» постепенно превращается в мультистековый микросервисный проект с realtime взаимодействием — так, например, появившийся WYSIWYG-редактор требует <tt>node.js</tt>-стека с специально поднятым сервисом парсинга,
 +
на подходе [https://sagarhani.wordpress.com/2016/07/31/one-last-step-for-completion-of-google-summer-of-code-kde-wikitolearn/ мгновенное коллаборативное редактирование] в стиле «etherpad/googledocs» — все это уже не развернуть тупо копированием файлов, да и хлопотно тащить все это под Windows — в целом, уже почти все вменяемые вебразработчики ушли с Windows на Mac/Linux.
 +
 +
Впрочем, современный тренды разработки вовсе требуют вынести за скобки систему разработчика (это его личное дело), а все-все-все зависимости проекта инкапсулировать и контейнеризировать<ref>Самый последний писк моды это «ехал докер через докер», но сейчас мы рассмотрим промежуточную версию, с виртуальными машинами и гибким обновлением через ansible.</ref>.
 +
 +
И тут еще возникают сложности разработки и обновления нашего «бандла» — как его ставить, чтобы можно было в пару действий, с минимальной кривой обучения
 +
* запустить что-то работающее,
 +
* получить и
 +
** тестовую версию для локальной отладки, в построчном IDE, с ручным ковырянием файлов по живому, и коротким REPL-циклом
 +
** надежное конфигурирование удаленного сервера на production.
 +
 +
 +
 +
 +
 +
 +
 +
Разрабатывать под Windows

Revision as of 23:13, 9 September 2016

Как быстро бежит время! Проекту MediaWiki4Intranet уже больше десяти лет, а самих попыток натягивать сову на глобус MediaWiki для всех интранет задач внутри IT компании и вовсе лет 12.

И изначально все было достаточно просто и понятно — стандартный PHP-проект, в духе «скопируй файлы в настроенный PHP-хостинг», и вообще было не зазорно вести разработку и доработку в винде, под LAMP-окружениями типа XAMPP, и деплоится на линукс-машину через SVN.

Поэтому мы и завели такую штуку, как Windows-сборка Mediawiki4Intranet, где обычным каталогом лежали все необходимые утилиты/фреймворки, и любой виндовс-пользователь мог попробовать проект, и даже не приходя в создание начать что-то править и создавать[1].

Но время идет.

MediaWiki из моностекового монолитного PHP-проекта, с классической моделью «генерации страницы на сервере» постепенно превращается в мультистековый микросервисный проект с realtime взаимодействием — так, например, появившийся WYSIWYG-редактор требует node.js-стека с специально поднятым сервисом парсинга, на подходе мгновенное коллаборативное редактирование в стиле «etherpad/googledocs» — все это уже не развернуть тупо копированием файлов, да и хлопотно тащить все это под Windows — в целом, уже почти все вменяемые вебразработчики ушли с Windows на Mac/Linux.

Впрочем, современный тренды разработки вовсе требуют вынести за скобки систему разработчика (это его личное дело), а все-все-все зависимости проекта инкапсулировать и контейнеризировать[2].

И тут еще возникают сложности разработки и обновления нашего «бандла» — как его ставить, чтобы можно было в пару действий, с минимальной кривой обучения

  • запустить что-то работающее,
  • получить и
    • тестовую версию для локальной отладки, в построчном IDE, с ручным ковырянием файлов по живому, и коротким REPL-циклом
    • надежное конфигурирование удаленного сервера на production.




Разрабатывать под Windows
  1. Вот короткая, почти не устаревшая лекция про архитектуру MediaWiki
  2. Самый последний писк моды это «ехал докер через докер», но сейчас мы рассмотрим промежуточную версию, с виртуальными машинами и гибким обновлением через ansible.