Способы автоматизации настроек администратора ColdFusion - PullRequest
2 голосов
/ 03 августа 2020

При работе с сервером ColdFusion вы можете получить доступ к CFIDE / administrator для установки значений конфигурации, которые обновляют файлы cfusion/lib/ xml (например, neo-runtime.xml, neo-mail.xml, et c.)

Я хотел бы автоматизировать процесс развертывания, который включает в себя установку этих значений администратора, чтобы мне не приходилось входить в систему и вручную устанавливать их для каждого нового поля, в котором используются общие настройки. Я не уверен, как лучше всего go узнать об этом.

Некоторые мысли, которые у меня возникли:

  1. Замена полных файлов на файлы, содержащие мои собственные настройки. Я сделал это для локальной разработки, но это может быть не идеальный метод из-за исправлений CF, которые потенциально могут добавлять / удалять / изменять атрибуты.
  2. Скрипт для чтения файла wddx xml и замены значения атрибутов. У меня проблемы с поиском информации о том, как использовать этот метод.

Кто-нибудь делал что-нибудь подобное раньше? Или у кого-нибудь есть рекомендации, как лучше go по этому поводу?

Ответы [ 3 ]

3 голосов
/ 03 августа 2020

В одной компании мы проверили все файлы neo-*.xml в системе контроля версий, с набором для каждой среды. Разработчики имели доступ только к настройкам разработчика, и мы могли быстро развернуть локальную среду разработки со всеми правильными настройками для новых сотрудников. .

, но это может быть не идеальный метод из-за исправлений CF, которые потенциально могут добавлять / удалять / изменять атрибуты.

Вы должны идти в ногу с этими изменениями и перенести каждую среду соответствующим образом.

Пока я был там, мы обновили с 8 до 9, с 9 до 11 и с 11 до 2016. Среды должны быть смешаны, поскольку требовалось время, чтобы проверить, работают ли приложения с каждым новым версия CF. Каждый сервер получил свои правильные XML файлы для этой среды, и скрипты будут копировать обновления по мере необходимости. У нас было около 55 серверов в производстве, на каждом по 8 экземпляров, так что это хорошо масштабировалось.

1 голос
/ 31 августа 2020

CFConfig отлично подходит для моих нужд. Я отметил ответ @AndreasRu как принятый, чтобы познакомить меня с этим инструментом! Я просто добавляю этот ответ с некоторыми дополнительными подробностями для потомков.

  1. Установить CommandBox как часть сценария развертывания
  2. Установить CFConfig как часть сценария развертывания
  3. Используйте CFConfig для экспорта файла config. json из существующего ящика, который будет использовать параметры совместно с новым развертыванием. Сохраните этот файл json в системе управления версиями для каждого типа / окружения коробки.
  4. Используйте CFConfig для импорта конфигурации. json как часть сценария развертывания

Вот простой пример того, как это выглядит в debian

# Installs CommandBox
curl -fsSl https://downloads.ortussolutions.com/debs/gpg | apt-key add -
echo "deb https://downloads.ortussolutions.com/debs/noarch /" | tee -a /etc/apt/sources.list.d/commandbox.list
apt-get update && apt-get install apt-transport-https commandbox

# Installs CFConfig module
box install commandbox-cfconfig

# Import config settings
box cfconfig import from=/<path-to-config>/config.json to=/opt/ColdFusion/cfusion/ toFormat=adobe@11.0.19
1 голос
/ 07 августа 2020

Существует очень полезный инструмент, разработанный Ortus Solutions для такого рода автоматизации, называемый cfconfig, который можно установить с помощью утилиты командной строки командной строки. Этот инструмент не только способен настраивать конфигурации администратора: он также может экспортировать / импортировать настройки в файл json (cfconfig. json). Это может быть то, что вам нужно.

Вот ссылка на их документы https://cfconfig.ortusbooks.com/introduction/getting-started-guide

...