首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多应用Coldfusion 7服务器和CFC路径

多应用Coldfusion 7服务器和CFC路径
EN

Stack Overflow用户
提问于 2014-11-13 16:37:16
回答 1查看 118关注 0票数 1

我们有一个Coldfusion服务器,它承载多个应用程序,都在它们自己的子文件夹中。类似于:

  • /webroot文件夹/应用程序a
  • /webroot文件夹/应用程序B

此外,在开发服务器上,每个开发人员都有一个给定应用程序的副本,每个副本都是一个Subversion工作副本:

  • /webrootfolder/applicationA_dev1
  • /webrootfolder/applicationA_dev2
  • /webrootfolder/applicationA_dev3

由于我们正在运行Cold聚变7(主要抵抗升级),我发现自己被困在我想要在软件包中使用CFCs。以下是各种问题、尝试的解决办法以及这些问题的解决办法:

  • 只有在存在单个包时,才能使用相对组件名,这会使单个文件夹中的组件变得一团糟。
  • 只要您从不引用父包中的组件,使用子包就可以工作,这在扩展、实例化或使用组件作为cfargument类型时似乎很容易发生。
  • 从根开始使用完整的CFC路径并不适用于每个开发人员的多个副本。**使用带有变量的动态路径是我目前的解决方案.直到我意识到它不适用于扩展式或卡式.**使用服务器映射在开发中不起作用,因为每个开发人员副本都有一个别名。我希望代码是独立文件夹的。**使用特定于应用程序的映射(在Application.cfc中定义)无法工作,因为CF7而不是CF8+。
  • 创建所需CFC的本地虚拟副本并将实际CFC的内容(具有相对路径"../../")包含在内是我以前的解决方案。它能工作,但是把这些克隆人弄得乱七八糟。**最近,我发现这个解决办法并不总是有效的。Coldfusion显然被包含在各种CFCs中的同名函数所迷惑。
  • 在每个开发人员的机器上使用开发Coldfusion服务器,允许应用程序路径始终是/webrootfolder/applicationA (由Mark建议)。**这里的主要问题是说服电脑小组让我们安装这个系统。这可能需要很长时间,恐怕我没有。**网络配置可能还有其他问题(我不确定是否允许访问DB ),如果允许的话,这些问题也必须通过网络团队并花费一段时间。

每个应用程序/文件夹一个网站-更改根目录

我花了一些时间来探索IIS 6中网站/应用程序的配置方式。经过一些研究,我发现创建绑定是可能的,就像我在Unix/Apache下所习惯的那样。目前,所有应用程序都在它们自己的web根目录的子文件夹中。别名被配置,例如,使"domain.com/appA“指向”/webroot文件夹/applicationA“文件夹。但它仍然是一个独立的IIS网站,有很多子路径。因此,Coldfusion (用于CFC和include)是基于该网站(/webrootfolder)的根。

我做了一个快速测试,并设法在服务器上有第二个IIS网站,绑定到端口8080 (而不是默认的80)。我将这一点直接指向/webroot文件夹/applicationA/cfm(这实际上是应用程序的根)。这样,Cold聚变就可以将文件夹识别为根,并实例化"Object“CFC将其作为/webrootfolder/applicationA/cfm/Object.cfc查找。

这正是我们在前一份工作中所做的,而且效果很好。尽管如此,这是一家小公司,我担心这个解决方案可能会有问题。最重要的是:我该如何引导人们访问这个网站?使用端口绑定对用户不太友好(我们的用户不是技术人员)。为每个应用程序设置一个特定的域听起来不错,但代价可能很高,特别是如果涉及到HTTPS (至少我听说过)。子域可能是另一种解决方案,但似乎存在类似的问题。

所以..。

我错过了什么吗?我是不是被“乱七八糟”的解决方案困住了?

我可以访问Cold聚变管理面板,也可以访问IIS配置,但如果解决方案影响服务器上其他应用程序的路径或URL,则很可能会受到限制。

EN

回答 1

Stack Overflow用户

发布于 2014-11-13 17:57:41

有一次,我从伊利诺伊州南部的一个老农民那里询问去钓鱼湖的路。他挠头了一会儿,然后对我说:“儿子,你不能从这里到那里。”)我想你可能在同一艘船上,利奥。

问题不是包装,问题是你的SDLC违背了最佳实践。任何类型的"dev“服务器都应该镜像生产--这是您已经在使用您的方法时遇到的问题。此外,您的开发人员在dev服务器上似乎每个人都有自己的代码副本。这让我回想了12年前,我和我的朋友刚刚开始我们的小开发店,他们在一个dev服务器上托管了代码,并直接针对它开发--但这种方法并不容易持续,而且您的团队越大,它就越糟。

您应该做的是将开发服务器作为生产的镜像运行。然后允许您的开发人员在他们自己的工作站上运行代码--我们称之为本地开发。然后使用源代码管理来处理差异、合并分支等。在这种情况下,您的每个开发人员都可以按照您的意愿使用打包,而这类问题就顺理成章。

我意识到,我给你们的解决办法是“解决棘手的问题”--但这是正确的。我想你在当前的配置上浪费了一些精力和时间,我怀疑产品部署,甚至是为QA组装代码,目前对你来说是一个巨大的挑战。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26913828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档