作为开发人员,我们的工作就是为最终用户实现过程自动化;然而,很多开发人员却忽略了将自己的开发过程自动化的机会。为此,自动化专家 Paul Duvall 编写了 让开发自动化 这个系列文章,专门探讨软件开发过程自动化的实际应用,并教您 何时 以及 如何 成功地应用自动化。

2009 年

部署自动化模式,第 2 部分(2009 年 4 月)
Java 部署常常很混乱,容易出现错误,需要许多手工操作,这会延误向用户交付软件的时间。本文是分两部分的系列文章的第 2 部分,将进一步补充用于开发可靠、可重复且一致的部署流程的一些关键模式,帮助读者为 Java 应用程序生成简便的部署。

部署自动化模式,第 1 部分(2009 年 2 月)
Java 部署常常很混乱,容易出现错误,需要许多手工操作,这会延误向用户交付软件的时间。在本文中,自动化专家 Paul Duvall 将介绍用于开发可靠、可重复且一致的部署流程的一些关键模式,帮助读者为 Java 应用程序生成简便的部署。

2008 年

使用基于向导的安装程序(2008 年 12 月)
对于大多数用户来说,安装软件常常是一件痛苦的事情。生成安装包是软件开发的 “最后一步”,但它可能导致不同的结果:要么用户采用软件,要么它就成为无人问津的垃圾品。本文演示了如何使用免费、开源的工具 IzPack 来编写为您的用户安装软件的基于向导的安装程序。

针对广大开发人员的并行开发(2008 年 11 月)
虽然很多开发团队都使用版本控制系统管理代码变更,但当多个开发人员并行地使用不同的代码库进行编码时,还是会出现问题的。本期中,Paul Duvall 展示了如何运用开源的、免费的 Subversion 版本控制系统来有效地进行标记、分支和合并。

实现自动化数据库迁移(2008 年 9 月)
数据库通常不能够与它们支持的应用程序保持同步,从管理方面来讲,将数据库和数据置于一个已知状态是个很大的挑战。本期中,Paul Duvall 演示了如何使用开源的 LiquiBase 数据库迁移工具轻松地处理数据库和应用程序的频繁变更。

持续重构(2008 年 7 月)
重构是公认的改进现有代码的好方法。然而,如何通过一种一致且可重复的方式找到需要重构的代码呢?本期将教您如何使用静态分析工具来识别需要重构的代码味道,并举例说明了如何改进坏味道代码。

文档化一键通(2008 年 6 月)
项目的文档化通常都是交付软件产品时不可避免的难题。但是想象一下如果仅需单击一个按钮就能够生成文档呢?在本期中,自动化专家 Paul Duvall 阐述了如何运用开源工具自动生成统一建模语言(Unified Modeling Language,UML)图、构建图、实体关系图(entity-relationship diagram,ERD)乃至用户文档。

利用 Ivy 管理依赖项(2008 年 6 月)
管理项目和工具之间的源代码依赖项往往非常困难,但并不一定总是如此。在这一期中,自动化专家 Parl Duvall 介绍了如何利用 Apache Ant 项目中的 Ivy 依赖项管理器来处理所有重要 Java 项目必须管理的无数依赖项。

自动负载测试(2008 年 5 月)
负载测试通常在开发周期的后期执行,但是并不一定要这样。在这一期中,自动化专家 Paul Duvall 将向您描述如何创建一个运行 JMeter 测试的预定集成构建,发现和修复开发周期中出现的问题。

使用自动化加速部署(2008 年 1 月)
自动化构建不仅仅适用于开发团队 —— 在将软件从开发迁移到生产这一过程中也大有作为。在这一期中 Paul Duvall 将介绍如何结合使用 Ant 和 Java Secure Channel 将软件远程部署到多个目标环境中。

2007 年

持续集成反模式(2007 年 12 月)
尽管持续集成(Continuous Integration,CI)可以非常有效地减少项目的风险,但是它对与编程相关的日常活动提出了很高的要求。本文列举了一系列 CI 反模式并解释了如何避免它们。

使用 Raven 构建 Java 项目(2007 年 11 月)
Ant 无疑是用于 Java 平台的标准构建工具;但是,其它一些构建工具也可以为 XML 提供它一直所缺乏的更具表达性的范例。本文介绍了构建在 Ruby 之上的构建平台 Raven,它可以利用功能全面的编程语言和以构建为中心的域特定语言(Domain Specific Language)的简单性。

断言架构可靠性(2007 年 7 月)
您的软件架构和您所期望的一样吗?当架构落实到代码时,它并不总是我们曾经互相讨论并预想的那个。本文将演示如何通过使用 JUnit、JDepend 和 Ant 编写有关测试来发现架构偏差,从而做到在发生问题之前主动发现问题。

持续测试(2007 年 3 月)
介绍了几种自动化的开发人员测试,每一次改变源代码都能够运行这些测试。作者提供了 Selenium、DbUnit 和 JUnitPerf 测试的例子,即如果经常运行这些测试可以帮助您尽早发现应用程序的问题。

用 Eclipse 插件提高代码质量(2007 年 1 月)
如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露前发现这些问题。在本期文章中,自动化专家 Paul Duvall 将带来一些关于 Eclipse 插件的例子,您可以安装、配置和使用这些静态分析插件,以便在开发生命周期的早期预防问题。

2006 年

持续反馈(2006 年 12 月)
反馈对于持续集成(Continuous Integration,CI)实践来说至关重要,事实上,它正是 CI 系统的“生命血液”。快速反馈则能够实现对需要引起注意的构建事件的及时响应。在这一期文章中,自动化专家 Paul Duvall 介绍了能够合并到 CI 系统中的各种反馈机制。

除掉构建脚本中的气味(2006 年 11 月)
您把多少时间花在维护项目构建脚本上?也许远远超出您预期的或者可以忍受的时间。其实大可不必遭受如此痛苦的经历。在这一期的让开发自动化中,Paul Duvall 将演示如何改进很多常见的妨碍团队创建一致的、可重复的、可维护的构建的实践。

选择持续集成服务器(2006 年 10 月)
由于有许多持续集成服务(CI)服务器可以选择,所以很难决定哪个适应自己。本文中,开发自动化专家 Duvall 采用一致的评估标准和很多说明性示例,介绍了一些开源 CI 服务器,包括 Continuum、CruiseControl 和 Luntbuild。

持续检查(2006 年 8 月)
利用源代码分析工具,自动获得关于代码复杂性、重复程度、符合编码标准的程度,从而改进软件开发过程。