0

使用 Cloudbees,是否可以将网页(即视图)与应用程序(即模型/控制器)分开存储,以便第三方网页设计师可以编辑网页,或者只能在构建应用程序之前完成。我正在使用 Spring 使用 Java 进行开发,并且可以在本地执行此操作,但看不到使用 Cloudbees 执行此操作的方法。

4

2 回答 2

1

您的问题实际上更多是关于如何构建应用程序,而不是如何在 CloudBees 上工作。

如果您使用 Maven 等构建应用程序,您可以将项目构建为一个多模块项目,其中一个.jar模块用于应用程序代码,一个.war模块用于 Web 应用程序。您可以将两个不同的模块放入单独的 SCM 存储库中,让 Jenkins 构建它们并通过部署到 CloudBees 的 RUN@cloud 服务来完成。

这绝不限于 Maven,您可以使用 ANT 或任何值得其盐的构建工具做同样的事情。

单片机的选择可以使这更容易或不...

  • 如果您选择 GIT 作为您的 SCM(并且所有酷孩子都使用 GIT),请注意 GIT 旨在保存所有内容,这些内容将一次性发布在统一子目录树中的同一 GIT 存储库中。我的意思是你不能[轻松]检出(或标记)GIT存储库的一部分。因此,例如,如果您在 GIT 存储库中有一个多模块 Maven 项目,您必须同时检出所有模块,网页设计师将不得不转到webapp/src/main/webapp目录处理这些文件并忽略其他文件...哦,网页设计师无论如何都会在他们的机器上拥有所有文件。当需要发布版本时,您将一次性发布所有内容,因此所有模块都将具有相同的版本号。这意味着您将削减一个新的应用程序.jar即使所有更改都在.jsp文件中,也要发布...另一方面,您知道.jar每次剪切发布时都在使用最新的代码。诸如 GIT 子模块之类的愚蠢行为可能会诱使您认为它们可能是一种解决方案,但这些并不是您正在寻找的解决方案。

  • 如果您选择 Subversion 作为您的 SCM,情况就不同了。Subversion 允许您仅签出和标记树的一部分。因此,您实际上可以只为网页设计师提供树的网页部分的 SCM URL,然后他们可以只检查那个并只处理那个。当然,他们失去了分布式 SCM 的所有乐趣,但他们不必看到任何不必要的干扰。有一个缺点......即他们不能轻易地为自己启动 Web 应用程序来验证他们的更改。他们仅限于猜测他们在文件中所做的更改.jsp将产生有效的 HTML 标记。

我个人的建议是设计师不傻(或者也许只是我们的设计师不傻)。你告诉他们他们需要处理的文件在哪里,他们将在那里工作。他们不会对您的其余代码进行更改……而且您无论如何都在使用 SCM,因此即使他们确实在其他地方进行了更改,您也可以轻松地回滚这些更改。如果你有设计师不应该看到的秘方,那么你一开始就做错了。

于 2013-01-21T09:31:57.763 回答
0

CloudBees 只是一个托管您的应用程序的地方——它不会影响您创建内容的方式。

要以这种方式工作 - 您最好设置一个构建管道(查找“clickstarts”并找到适合的),以便您的设计人员可以编辑网页,并且当进行更改并提交到源代码控制时,构建/部署周期是发起。

于 2013-01-21T06:54:52.623 回答