【问题标题】:Using ANT to source control the code in cloud (NetSuite)使用 ANT 对云中的代码进行源代码控制 (NetSuite)
【发布时间】:2013-12-30 13:37:43
【问题描述】:

对于我们的 ERP 平台 (NetSuite),自定义代码位于云端。我们(不同的实体)可以直接对其进行更改,但云中没有可供我们使用的源代码控制。

可以通过 SOAP API 获取代码文件。

我想知道是否可以使用 Apache ANT 通过 API 获取文件并推送到 TFS/SVN 中?

我不熟悉 Apache ANT,所以我不知道 ANT 的功能是否可以通过 API 获取任何信息?

(您还可以建议任何更好的方法来控制云中的代码)

【问题讨论】:

    标签: version-control ant netsuite


    【解决方案1】:

    Ant 有几个用于版本控制任务的第三方任务插件。另外,您始终可以使用<exec/> 任务来构建等效的命令行结帐。但是,我不建议人们使用 Ant 从您的版本控制系统中获取版本。这最终成为一个鸡与蛋的问题。

    您的构建脚本受版本控制。您需要获取它以便针对它运行 Ant。如果您正在获取构建脚本,为什么不获取项目的其余部分?

    一旦您在工作目录中签出您的项目并想要进行更新,为什么不让 Ant 进行更新呢?因为您的构建脚本也是受版本控制的。同时进行更新和构建可能会使您针对构建运行错误版本的构建脚本。

    也许您要签入由构建系统修改的文件。不是一个好主意。如果有的话,您应该很少签入您构建的文件。如果您需要它们,请重建它们。构建的文件本质上通常是二进制文件,并且从一个版本到另一个版本可能会有很大差异。在大多数情况下,您的版本控制系统将签入构建对象的全新版本,而不是使用 diff 格式。这在您的版本控制系统中占用了大量空间。

    更糟糕的是,您无法区分已构建的对象,因此您无法真正验证其内容或追溯其历史。而且,建成的物体往往会很快老化。上个月建造的东西已经过时了。一年后,您的版本控制系统中的绝大多数信息将只是过时的二进制文件,而存储的有用代码将很少。

    此外,您的版本控制系统与构建文件无关。想象一下在 2.1 和 2.2 之间,您将版本控制系统从 Subversion 更改为 Git。现在,需要修复 2.1 版中的一个错误,您需要创建 2.1.1 版。您的构建脚本中的结帐代码将不再有效。

    如果您使用的是 NetSuite IDE,那么您使用的是 Eclipse,而 Eclipse 非常擅长处理版本控制。 Eclipse 可以同时处理 SVN 和 TFS(尽管 I don't know why anyone would use TFS)。 Eclipse 可以很好地跟踪文件更改。事实上,当您在 Eclipse 背后更改文件时(就像您在 Eclipse 之外进行更新一样),Eclipse 会感到困惑。

    让 Eclipse 处理您的版本控制问题。它为几乎所有版本控制系统提供了一个通用接口。这样,您的构建系统就可以处理构建。

    【讨论】:

      【解决方案2】:

      我不确定您可能还有什么其他要求,但如果您使用 NetSuite IDE(Eclipse + 捆绑插件),您可以使用它将文件拉取和推送到 NetSuite。然后您可以使用任何您喜欢的源代码控制系统(例如,我们使用 SVN)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-08-16
        • 2012-07-04
        • 1970-01-01
        • 2010-09-20
        • 2014-10-28
        • 2016-09-30
        相关资源
        最近更新 更多