适用于as3/flex项目的CI友好型自动构建

Mar*_*son 11 apache-flex build-automation continuous-integration build actionscript-3

免责声明:我对flash构建过程相对不熟悉,因此部分/全部可能是错误的废话.请随意建议替代方法.

我们目前正在开发一个flex web应用程序,我们的构建情况远非理想.目前我们(如在个人开发人员中)只是使用FlashBuilder构建并手动部署.程序员目前正在尖叫血腥谋杀有两个原因,但是:

  • 缺乏CI就像回到石器时代
  • 我们不太关心FlashBuilder

(注意:我们只使用FlashBuilder,因为这是与Away3d一起设置flex项目并使其正确构建/渲染的最简单方法- 这是一个权宜之计的解决方案).

作为一个主要的.NET开发商店,我们习惯于持续集成和持续部署.理想情况下,我们希望为我们的Flash项目提供与此类似的功能,而不必将自己与特定的IDE联系起来.

要求:

构建过程必须是:

  • ..通过命令行运行
  • ..在开发人员和CI构建机器上运行(当然不需要IDE!)
  • ..最好尽可能独立于IDE(虽然实用主义会起作用;如果这会导致很多摩擦,我们只选择一个).
  • ..能够在Windows上运行(我们使用Windows开发)

我们不介意重复或一些手动步骤(例如,如果我们通过IDE添加新项目,或者如果存在工具则从另一个生成一个配置),那么就需要进行重复/维护.更好.

我已经阅读了不少文章/博客文章并观看了一些简短的截屏视频,但大多数都是关于构建系统如何与IDE一起使用的非常薄弱的​​.大多数文章/截屏视频具有相同的公式:如何使用单个文件和文本编辑器(无IDE)创建"Hello World"构建.

我也没有看到过多个库/项目等的主题.

在阅读了一段时间后,我正在考虑调查以下选项:

有没有人对上述解决方案(或其他我不知道的)有任何经验,如果有的话,你对它们有什么看法?任何帮助/指针赞赏.

RIA*_*tar 7

我最近开始使用GradleGradleFx插件构建,我立刻爱上了它的强大功能和易用性.

Gradle是ANT + Maven + Ivy的演变,主要用于命令行.您可以:

  • Groovy编写脚本(一种在Java虚拟机中运行的类似Ruby的强大语言)
  • 访问所有现有的 Maven和Ivy 存储库以及您自己的存储库
  • 使用现有的ANT任务
  • CI集成(在Jenkins中,您只需选中一个复选框以激活Gradle支持)
  • 虽然它最初是从Java/Groovy社区发展而来的,但实际上它与语言无关.您可以添加特定于语言的插件以添加功能.GradleFx就是这样一个插件,可以为您提供额外的ActionScript/Flex构建任务.
  • 做简单的多项目构建.例如,您只需一个命令即可编译,单元测试,打包和部署.NET服务层和Flex客户端应用程序.
  • 使用约定优于配置:如果您遵守约定,您的构建脚本将非常简洁
  • 生成各种报告:单元测试,检查方式,codenarc,...
  • 生成Eclipse,IDEA或其他IDE项目
  • 所有我还没有发现的东西

最重要的是:它非常容易学习.在开始使用Gradle之前,我对Maven一无所知,可以通过一些自定义工作来快速完成多项目构建.

编辑(与Buildr AS3和Maven的比较)

我只能将其与您提到的项目之一进行比较:Buildr AS3.它似乎始于一种类似于Gradle的哲学.我大约半年前尝试使用它,甚至无法使用简单的"Hello World"应用程序.我通过电子邮件向开发人员寻求帮助:没有回复.

与GradleFx相比:我与开发人员进行了一次小型的论坛讨论(关于一个相当哲学的话题,因为我真的不需要任何帮助,因为它刚刚起作用).他在几分钟内回答.

至于Maven :(为了它的价值)我只浏览了一些配置,当我将它们与Gradle脚本进行比较时,它们似乎过于复杂.

Maven做的一件事是你不能用GradleFx做的.它可以从Maven仓库中提取正确的Flex SDK并进行构建.使用GradleFx,您必须在本地使用SDK.