【问题标题】:Methods to automate ColdFusion Administrator settings自动化 ColdFusion 管理员设置的方法
【发布时间】:2020-08-03 17:41:03
【问题描述】:

使用 ColdFusion 服务器时,您可以访问 CFIDE/管理员来设置配置值,从而更新 cfusion/lib/ xml 文件(例如 neo-runtime.xmlneo-mail.xml 等)

我想自动化部署过程,其中包括设置这些管理员值,这样我就不必登录并为每个共享设置的新框手动设置它们。我不确定最好的解决方法。

我的一些想法是:

  1. 用包含我的自定义设置的文件替换完整文件。我已经为本地开发完成了此操作,但由于 CF 热修复可能会添加/删除/更改属性,这可能不是一个理想的方法。
  2. 用于读取 wddx xml 文件并替换属性值的脚本。我无法找到有关如何执行此方法的信息。

以前有人做过这样的事吗?或者有人对如何最好地解决这个问题有任何建议吗?

【问题讨论】:

  • 什么版本的 ColdFusion? ColdFusion 2016 和 2018 包含一个命令行界面 (CLI),可让您与服务器设置进行交互。 Read the documentation here 或者可能将您的 ColdFusion 设置打包到 ColdFusion 存档中,然后部署到您的新服务器 - Deploy ColdFusion applications
  • 我们有 CF11 和 CF2018 盒子,但新部署应该(希望)只有 CF2018。我从未使用过 CLI,但它看起来很有希望。我将更深入地研究这两种选择。谢谢
  • 如果你想出了一个好的解决方案,你应该把它写下来作为答案,这样下一个人就可以学习你学到的东西。

标签: coldfusion wddx


【解决方案1】:

在一家公司,我们将所有 neo-*.xml 文件检查到源代码控制中,为每个环境设置一组 开发人员只能访问开发设置,我们可以快速为新员工部署具有所有正确设置的本地开发环境.

但这可能不是一个理想的方法,因为 CF 热修复可能会添加/删除/更改属性。

您必须跟上这些变化并适当地迁移每个环境。

当我在那里时,我们从 8 升级到 9,从 9 升级到 11,从 11 升级到 2016。环境必须混合,因为需要时间来验证应用程序是否适用于每个新版本的 CF。每个服务器都为该环境获得了正确的 XML 文件,并且脚本将根据需要复制更新。我们在生产中大约有 55 台服务器,每台运行 8 个实例,因此扩展性很好。

【讨论】:

    【解决方案2】:

    Ortus Solutions 为这种自动化开发了一个非常有用的工具,称为 cfconfig,可以使用他们的命令行实用程序进行安装。该工具不仅能够设置管理员的配置:它还能够将设置导出/导入到 json 文件 (cfconfig.json)。这可能是您需要的。

    这是他们文档的链接 https://cfconfig.ortusbooks.com/introduction/getting-started-guide

    【讨论】:

      【解决方案3】:

      CFConfig 完美地满足了我的需求。我将@AndreasRu 的答案标记为已接受以向我介绍该工具!我只是在此回复中添加了一些额外的细节以供后人参考。

      1. Install CommandBox 作为部署脚本的一部分
      2. Install 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/ toFormat=adobe@11.0.19
      

      【讨论】:

      • 感谢您添加并完成答案。它肯定会帮助其他人。很高兴我能为您的问题提供一些指导。
      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 2012-03-23
      • 2016-11-25
      相关资源
      最近更新 更多