Способы автоматизации настройки администратора ColdFusion

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

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

У меня были следующие мысли:

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

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


person Nick RB    schedule 03.08.2020    source источник
comment
Какая версия ColdFusion? ColdFusion 2016 и 2018 включают интерфейс командной строки (CLI), который позволяет вам взаимодействовать с настройками сервера. Прочтите документацию здесь ИЛИ, возможно, упакуйте свои настройки ColdFusion в затем разверните архив ColdFusion на вашем новом сервере - Разверните ColdFusion приложения   -  person Miguel-F    schedule 03.08.2020
comment
У нас есть коробки CF11 и CF2018, но новые развертывания должны (надеюсь) только CF2018. Я никогда не работал с CLI, но он выглядит многообещающим. Я более подробно рассмотрю оба варианта. Спасибо   -  person Nick RB    schedule 03.08.2020
comment
Если вы придумали хорошее решение, вы должны написать его как ответ, чтобы следующий человек мог узнать то, что вы узнали.   -  person James A Mohler    schedule 03.08.2020


Ответы (3)


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

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

person AndreasRu    schedule 07.08.2020

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

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

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

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

person Adrian J. Moreno    schedule 03.08.2020

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

  1. Установите CommandBox как часть сценария развертывания
  2. Установите CFConfig как часть сценария развертывания
  3. Используйте CFConfig для экспорта файла config.json из существующего ящика, который будет разделять настройки с новым развертыванием. Сохраните этот файл json в системе управления версиями для каждого типа / окружения коробки.
  4. Используйте CFConfig для импорта config.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/ [email protected]
person Nick RB    schedule 31.08.2020
comment
Спасибо, что добавили и завершили ответ. Это точно поможет другим. Рад, что смог дать какое-то направление твоему вопросу. - person AndreasRu; 01.09.2020