Встала задача написания некой недоCICD для автоматичсекой раскатки стендов для разработчиков с определенной базовой системой на борту и автопуллом нужной ветки из Гита. И при разработке поймал себя на мысли, что ваять руками все процессы по созданию виртуального хоста и редактированию настроек как-то не правильно. То есть задача - найти способ через командную строку 1-2 командами создавать нужный допсайт на окружении, далее разворачивать нужную "эталонную версию" системы и делать пулл нужной ветки Git с выполнением невыполненных миграций. Со всеми процессами кроме первого особых проблем нет, главное заранее подготовить архивы "Эталона". А вот чтобы создать нужный хост, кроме как заходя в меню окружения - и никак больше - так говорил оооочень долгий поиск гугла и яндекса. Но при поиске случайно накнулся на вот этот пост на Яндекс Дзене https://dzen.ru/media/id/5b1a58b8eb269...ujenie-... То есть в окружении все таки есть возможность создать вхост одной командой.
Делается это следующим образом - в shell вводим:
/opt/webdir/bin/bx-sites -a create -s site.local-dev.ru -t kernel --charset UTF-8 --cron
Да, сайт создается, но не настраивается поддержка Push сервера, что крайне необходимо для доработок Битрикс24. Для этого открываем и "препарируем" блокнотиком файл /opt/webdir/bin/bx-sites, особенно образая внимание на блок (с 71 строки):
Здесь у нас описаны все доступные команды для добавления и редактирования сайтов, то есть если нужно создать вхост для Битрикс окружения с пуш сервером, команда будет выглядеть так:
Cоответственно если нам нужно удалить какой-то из сайтов, команда будет иметь вид:
/opt/webdir/bin/bx-sites -a delete -s site.local-dev.ru -t kernel -r /home/bitrix/ext_www/site.local-dev.ru
На вид вроде все просто - команду выполнили через PHP Exec (или откуда вы там решили управлять стендами) и поперли дальше. А не просто) В окружении есть встроенный планировщик задач, который при выполнении создает задачу на создание или удаление сайта. И если вы хотите правильно автоматизировать создание стендов - то сначала нужно дождаться выполнения этой задачи, а потом уже выполнять все последующие действия. Для этого нам пондобится узнать список текущих задач и их статус, поможет нам следующая команда:
/opt/webdir/bin/bx-process -a list
Она в виде построчных массивов с разделителем двоеточия выдает все текущие задачи, нам остается только убедиться янет ли задач в статусе running.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».