Flex 持续集成(CI)实践(Hudson)

项目开始后,持续集成会是一个关键的环节,本文针对Flex的开发的持续集成进行了一个实战,这些相关的工具和功能还是很强大的,通过组合这些工具,可以构建一个编译、单元测试、集成测试、代码检查等系列工作的CI服务,为后续的项目持续发展打下一定的基础。

运行Hudson

http://hudson-ci.org 上下载文件

执行: java - ja r hudson.war 或 java -jar hudson.war --httpPort=8888

浏览器输入http://localhost:8080 即可查看

hudson.war也可部署到其他JSP容器(如Tomcat Jetty等)

系统管理 中配置JDK Maven等环境

Flex 持续集成(CI)实践(Hudson)_第1张图片

实例

以FlexUnit的内容为例,试验一下持续集成的过程

下载 http://flexunit.org/releases/flexunit-4.1.0-8-4.1.0.16076.zip, 加入本地的SVN中,新的CI项目中设置正确的SVN地址

建立项目,设置代码管理部分

Flex 持续集成(CI)实践(Hudson)_第2张图片

点击“立即构建”可以看到如下的界面,由于这个代码中有两个测试失败的,因此有具体的提示

Flex 持续集成(CI)实践(Hudson)_第3张图片

SampleTest.as屏蔽掉Assert失败的内容,再次运行构建,测试成功

Flex 持续集成(CI)实践(Hudson)_第4张图片

以上可见,整个过程非常简单,构建的信息非常明了

http://code.google.com/p/flexonjava/ Flex On Java这本书第十章有详细的关于视图、模型、服务等的测试

其他参考

持续集成除了编译、单元测试外,还包括很多其他类型的自动化工作,如下是一个参考工具

单元和界面测试

FlexUnit http://www.flexunit.org/

mock http://code.google.com/p/mock-as3/ http://github.com/drewbourne/mockolate

FlexMonkey http://www.gorillalogic.com/flexmonkey

Visual Flex Unit http://code.google.com/p/visualflexunit/

覆盖率(Code Coverage

http://code.google.com/p/flexcover/

压力测试(Load Testing

http://labs.adobe.com/wiki/index.php/ Flex_Stress_Testing_Framework

代码规范:

参考规范 http://tinyurl.com/3xphtd

FlexPMD

http://opensource.adobe.com/svn/opensource/flexpmd/maven-repository/release/com/adobe/ac/flex-pmd/1.2/flex-pmd-all-in-one-bundle-1.2.zip (包括PMD Cpd metrics)

在线查看代码分析结果情况的工具

http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-violations-viewer.html

检查工具 http://opensource.adobe.com/wiki/display/flexpmd/FlexPMD

代码重复FlexCPD  http://opensource.adobe.com/wiki/display/flexpmd/FlexCPD

代码度量FlexMetrics http://opensource.adobe.com/wiki/display/flexpmd/FlexMetrics

FlexPMD和Hudson的集成

http://wiki.hudson-ci.org/display/HUDSON/PMD+Plugin

http://opensource.adobe.com/wiki/display/flexpmd/How+to+invoke+FlexPMD

http://cookbooks.adobe.com/post_Invoke_FlexPMD_with_Maven_on_build_Flex_projects-16066.html

Flex 持续集成(CI)实践(Hudson)_第5张图片

这些工具的CI的步骤:

Ø 项目pom.xml中加入相关的内容

Ø hudson安装对应的插件,设置对应的编译选项,然后构建即可查看相关的结果

FlexPMD - eclipse 插件

参考如下的内容可以在Elcipse中安装使用

http://bbs.9ria.com/viewthread.php?tid=41293

http://opensource.adobe.com/svn/opensource/flexpmd/plugin/trunk/flex-pmd-eclipse-plugin-site

你可能感兴趣的:(hudson)