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

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

项目开始后,持续集成会是一个关键的环节,本文针对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等环境

image

实例

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

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

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

image

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

image

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

image

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

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

image

这些工具的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

相关文章
|
22天前
|
测试技术 持续交付 开发工具
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
38 2
|
1天前
|
机器学习/深度学习 敏捷开发 监控
深入探索软件测试中的持续集成与持续部署(CI/CD)实践
【5月更文挑战第10天】 在现代软件开发周期中,"持续集成"(CI)与"持续部署"(CD)是提升效率、确保质量的重要环节。本文将详细探讨CI/CD在软件测试中的应用,包括其基本概念、实施策略、工具应用及面临的挑战。不同于一般性概述,本文将重点分析如何优化测试流程以适应CI/CD环境,并提出针对性的改进措施。通过实际案例分析,揭示成功实施CI/CD的最佳实践,并讨论如何在不断变化的技术环境中保持测试策略的前瞻性和灵活性。
|
3天前
|
运维 测试技术 持续交付
持续集成与持续部署(CI/CD):提高软件开发效率的关键实践
【5月更文挑战第8天】CI/CD是提升软件开发效率的关键实践,包括持续集成和持续部署。CI通过频繁集成代码并自动化构建、测试,早发现错误;CD则自动将通过测试的App部署到生产环境,缩短交付周期。自动化流程能降低人为错误,保障软件质量,减少运维成本。Jenkins、Travis CI、GitLab CI/CD和Docker是常见的CI/CD工具。通过这些工具和实践,可优化开发流程,推动项目成功。
|
3天前
|
存储 测试技术 持续交付
【Docker 专栏】Docker 与 CI/CD 的集成策略
【5月更文挑战第8天】本文探讨了Docker在CI/CD流程中的作用,强调了环境一致性、快速部署和资源隔离等优势。通过在构建、测试和部署阶段集成Docker,可以提升软件开发效率和质量。具体集成策略包括使用Dockerfile构建镜像、整合CI/CD工具如Jenkins和GitLab。集成带来的好处包括提高效率、增强可靠性、加速交付和简化管理。然而,也需应对镜像管理、网络配置和安全等问题。通过案例分析,证明了Docker与CI/CD集成的有效性和必要性。
【Docker 专栏】Docker 与 CI/CD 的集成策略
|
6天前
|
缓存 测试技术 持续交付
Golang深入浅出之-Go语言中的持续集成与持续部署(CI/CD)
【5月更文挑战第5天】本文介绍了Go语言项目中的CI/CD实践,包括持续集成与持续部署的基础知识,常见问题及解决策略。测试覆盖不足、版本不一致和构建时间过长是主要问题,可通过全面测试、统一依赖管理和利用缓存优化。文中还提供了使用GitHub Actions进行自动化测试和部署的示例,强调了持续优化CI/CD流程以适应项目需求的重要性。
45 1
|
11天前
|
敏捷开发 运维 测试技术
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】在数字化转型的浪潮中,企业对软件交付速度和质量的要求日益提高。自动化运维作为提升效率、确保稳定性的关键手段,其重要性不言而喻。本文将探讨如何利用容器技术构建一个高效的自动化运维体系,实现从代码提交到产品上线的持续集成(CI)与持续部署(CD)。通过分析现代容器技术与传统虚拟化的差异,阐述容器化带来的轻量化、快速部署及易于管理的优势,并结合实例讲解如何在实际环境中搭建起一套完善的CI/CD流程。
|
11天前
|
中间件 测试技术 API
探索自动化测试工具的新边界:Selenium与Appium的集成实践
【4月更文挑战第30天】 随着移动应用和Web应用的不断融合,传统的自动化测试工具需要适应新的测试环境。本文将详细分析Selenium和Appium这两款流行的自动化测试工具的集成实践,探讨如何构建一个能够同时支持Web和移动端应用的自动化测试框架。通过对比两者的技术架构、功能特性以及在实际项目中的集成过程,我们旨在为读者提供一个清晰的指导,帮助他们在复杂的应用环境中实现高效、稳定的自动化测试流程。
|
11天前
|
运维 Kubernetes 持续交付
构建高效自动化运维系统:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】 在快速发展的云计算时代,传统的运维模式已无法满足敏捷开发和快速迭代的需求。本文将介绍如何利用容器技术搭建一套高效自动化运维系统,实现软件的持续集成(CI)与持续部署(CD)。文章首先探讨了现代运维面临的挑战,接着详细阐述了容器技术的核心组件和工作原理,最后通过实际案例展示了如何整合这些组件来构建一个可靠、可扩展的自动化运维平台。
|
12天前
|
敏捷开发 机器学习/深度学习 Java
Java中的异常处理机制深入理解与实践:持续集成在软件测试中的应用探索自动化测试在敏捷开发中的关键作用
【4月更文挑战第29天】在Java编程中,异常处理是一个重要的概念。它允许开发者在程序执行过程中遇到错误或异常情况时,能够捕获并处理这些异常,从而保证程序的稳定运行。本文将详细介绍Java中的异常处理机制,包括异常的分类、异常的处理方式以及自定义异常等内容。 【4月更文挑战第29天】 随着敏捷开发和DevOps文化的兴起,持续集成(CI)已成为现代软件开发周期中不可或缺的一环。本文将探讨持续集成在软件测试领域内的关键作用、实施策略以及面临的挑战。通过对自动化构建、测试用例管理、及时反馈等核心要素的详细分析,揭示持续集成如何提高软件质量和加速交付过程。 【4月更文挑战第29天】 在当今快速发
|
12天前
|
监控 Java 测试技术
持续集成与持续部署:原理、实践与代码示例
持续集成与持续部署:原理、实践与代码示例
26 3

热门文章

最新文章