Скрипт автоустановки компонентов в MODX

Появилась нужда в скрипте автоустановки компонентов в MODX, который одинаково корректно можно вызывать и из веба, и из консоли. Так как все свои сервера отныне я настраиваю придерживаясь данной инструкции почти полностью, то за работу данного скрипта, запущенного из консоли сервера, настроенного по иному методу я не отвечаю.

Что может скрипт:

1) Сверяет репозитории из своего списка со списком в вашем MODX,
2) Добавляет репозитории, которых не нашёл,
3) Качает и устанавливает/обновляет компоненты, которые указаны в списке.

Естественно и репозитории, и компоненты Вы можете указать свои.

Вот ссылка на скрипт — gist.github.com/gvozdb/84671636d763007bcc78
Павел Гвоздь
10 октября 2015, 00:04
modx.pro
7
3 036
+3
Поблагодарить автора Отправить деньги

Комментарии: 23

Владимир
10 октября 2015, 11:21
0
Полезный скрипт.
Кроме установки расширений, менять бы еще системные настройки сразу.
    Alexander V
    10 октября 2015, 11:45
    0
      Владимир
      10 октября 2015, 11:48
      0
      Этот материал я помню, и многое так и делаю. Но то что я имел ввиду, это буквально: пакет, компонент, выгружающий в файл всю конфигурацию. Что бы потом из этого файла можно было оперативно установить те же пакеты, с теми же настройками.
      Такого готового решения нет сейчас, как я понимаю.
      Устанавливаться все должно из репозитариев, соответственно, последние по дате версии.
        Іван Клімчук
        11 октября 2015, 01:41
        0
        есть, Gitify :)
          Алексей
          23 декабря 2016, 10:23
          0
          Возможно ли через Gitify устанавливать пакеты как из репозиториев (последние версии) так и свои пакеты, не опубликованные ни в каких репозиториях?
            Іван Клімчук
            23 декабря 2016, 10:28
            0
            Пакеты из репозиториев устанавливать можно. В конфиге можно прописать даже ключи для установки купленных пакетов в modstore.pro и modmore.com. В интерактивном режиме пока нет возможности указать, в каком репозитории искать пакет. Так же пока нет возможности устанавливать локальные пакеты. Об этом просили и это в планах, но пока не хватает времени довести этот механизм до ума.
              Алексей
              23 декабря 2016, 10:49
              0
              круто. т.е. можно создать пользователя, группу для него, ограничить ему права для контекста mgr, настроить формы, установить системные настройки, пакеты, создать необходимые ресурсы и шаблоны, группы ресурсов и это все из командной строки двумя строчками сразу же при установке MODX?
                Іван Клімчук
                23 декабря 2016, 11:55
                0
                Формально да, но я бы так не стал делать. Gigify нужен скорее для синхронизации N установок MODX. Например, есть девелоперская версия и есть продакшен версия. Вот им можно отдельные объекты синхронизировать. Что касается задачи настроить права и тд и тп, то я бы рекомендовал это делать через создание пакета для MODX (по сути как обычное дополнение), в котором прописывать все эти правила. Я так делаю, создаю такой пакет с именем theme-sitename. В нем у меня прописаны все переопределения системных настроек, дополнительные файлы, тема сайта (css, js, шрифты и тд).
                  Алексей
                  23 декабря 2016, 17:25
                  0
                  подскажите, возможно ли на modhost.pro запустить gitify? или для этого обязательно брать отдельный VPS?
                    Іван Клімчук
                    23 декабря 2016, 17:30
                    0
                    ssh на modhost есть, так что да, можно. Лично пробовал, работает.
        Павел Гвоздь
        10 октября 2015, 18:30
        0
        Кстати, алгоритм для своего скрипта с пакетами я взял оттуда.
        Павел Гвоздь
        10 октября 2015, 18:29
        0
        С настройками в ближайшее время должен понадобиться скрипт — напишу.
        Владимир
        10 октября 2015, 11:44
        0
        Мысли вслух: Вообще, вместо сборок для быстрого старта, хорошо бы выгружать удачную конфигурацию в xml и так же из этого файла разворачивать полностью укомплектованную версию. В идеале пакет, для импорта и экспорта конфигураций сборок.
          Alexander V
          10 октября 2015, 11:46
          0
          Этот пакет называется Vapor!
            Владимир
            10 октября 2015, 11:50
            0
            Александр, я пользуюсь Vapor, давно. Он создает сборки. А я говорю о клонировании конфигурации в файл. Со сведениями обо всех установленных расширений и настройках. Без самих файлов пакетов и т.п.
            Соответственно, без контента.
            Vapor архивирует и устанавливает, а в случае импорта\экспорта конфигураций установка всех расширений должна вестись из репозитариев, как у Павла вданном топике.
              Alexander V
              10 октября 2015, 11:58
              0
              Идея хорошая, но только не понятно, где это может пригодиться. Если для тиражирования, то там все не предусмотришь, а только основное. Если только содрать конфиг с уже работающего сайта.
              Если не ошибаюсь, то в ThemePackagerComponent можно системные настройки забекапить. Но там вроде нет бекапа наборов параметров.
                Владимир
                10 октября 2015, 12:07
                0
                Если только содрать конфиг с уже работающего сайта.
                Я именно об этом. Для экономии времени и т.п. Грубо, Ace, Translit и т.п., наберется NN расширений, которые кроме установки требуют системных настроек. Экономия времени. Оптимизация рабочего процесса.
                  Alexander V
                  10 октября 2015, 12:10
                  0
                  ThemePackagerComponent посмотрите, там точно можно системные настройки содрать. Возможно и Packman умеет. Второй может еще ресурсы сохранить.
                    Владимир
                    10 октября 2015, 12:11
                    0
                    Спасибо, я все это знаю и это ни как не похоже на то о чем я написал.
                      Alexander V
                      10 октября 2015, 12:16
                      0
                      Сейчас посмотрел ThemePackagerComponent, он как раз может сохранить ресурсы. По-моему это как раз то, что надо.
                        Владимир
                        10 октября 2015, 12:19
                        0
                        В предполагаемом компоненте-пакете «волшебные кнопки»: 1. экспортировать конфигурацию и данные об установленных расширениях,
                        2. Импортировать конфигурацию и данные об установленных расширениях,
                        3. Переустановить все в соответствии с загруженным файлом конфигурации.
                        Ни о каких ресурсах я не говорю, я так и написал выше «без контента».
                          Alexander V
                          10 октября 2015, 12:25
                          0
                          Владимир, я помню, что вам не нужны ресурсы.
                          Собственно разница в том, что компонент сохранит сами пакеты. А вы, как я понял хотите, чтобы он их скачал из репозитория. Вроде не существенное отличие.
                            Владимир
                            10 октября 2015, 12:29
                            0
                            Вроде не существенное отличие.
                            Существенное, версии расширений последние будут из репозитариев, не потребуется их обновлять\удалять.
                            Принципиально, копии существующих расширений и просто запись о том что установлено.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        23