自动进行团队构建和单元测试过程
作者:网络转载 发布时间:[ 2013/5/29 10:22:15 ] 推荐标签:
现在可以启动 Tomcat,并把它设置成在系统启动时重启。启动脚本目前会生成一些警告信息,但是可以忽略它们:
[root@fcvm ~]# service tomcat5 start
Starting tomcat5: find: warning: you have specified the -mindepth opti
on after a non-option argument -type, but options are not positional (
-mindepth affects tests specified before it as well as those specified
after it). Please specify options before other arguments.
find: warning: you have specified the -maxdepth option after a non-opt
ion argument -type, but options are not positional (-maxdepth affects
tests specified before it as well as those specified after it). Pleas
e specify options before other arguments.
Using CATALINA_BASE: /usr/share/tomcat5
Using CATALINA_HOME: /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JAVA_HOME: /usr/lib/jvm/java
[ OK ]
[root@fcvm ~]# chkconfig tomcat5 on
[root@fcvm ~]# chkconfig --list tomcat5
tomcat5 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@fcvm ~]#
现在应当能够用浏览器在 http://localhost:8080/cruisecontrol/上访问 CruiseControl Web 应用程序了。图 1 显示了将会看到的输出的示例:
图 1. CruiseControl Web 应用程序
CruiseControl Web 应用程序截屏
安全问题
在我总结之前,我要指出两个配置和运行自己的持续集成服务器所涉及的安全性问题。首先,我没有解决构建服务器的访问安全问题。您应当参考其他信息来源以确保您的系统安全,或者在提供适当保护的内部网络上运行它。
其次,对于要在持续集成服务器上构建的外部项目的开发人员,您要考虑对他们要信任到什么程度。项目的构建过程和单元测试可以访问服务器的资源,包括服务器连接的网络。自动构建过程意味着提交给远程版本控制仓库的变更会在没有人为干预的情况下,自动下载到构建服务器并在上面执行。这把构建服务器置于提交给源树的 bug 和恶意代码的风险之下。您可能想限制在构建服务器上构建的外部项目,或者做些工作来保护系统和网络不受正在构建的项目的影响。
结束语
这篇文章介绍了运行 CruiseControl 的持续集成服务器的设置步骤。您安装了 CruiseControl 并学习了保持服务器一直运行需要做的工作,还了解了持续集成服务器的日常管理工作。而且还把配置的重要元素提取到更简单的 XML 文档中,包括版本控制和构建工具的选择以及用来构建每个项目的目标。
现在您学会了如何指定项目之间的依赖性。对于 Maven 项目来说指定比较容易,因为它们拥有一致的构建过程,生成的制品也有共享的仓库。Ant 则把这些机制留给每个项目,但是如果许多 Ant 项目都有公共的构建过程,那么可以用生成的 <filesystem> 元素对配置进行扩展,模拟这些项目之间的依赖性。CruiseControl 还有其他许多控制,可以用来增强持续集成过程。可以通过我介绍的 XSLT 样式表轻松地利用它们。
我快速介绍了运行 CruiseControl Web 应用程序需要的步骤,但是您可以提高自己安装的安全性和可靠性。更安全的配置可以使用 Apache 的 httpd 处理请求并把它们交给 Tomcat。让 daemontools 管理 Tomcat JVM(像配置它来管理 CruiseControl 本身那样)可能更可靠。除此之外,还应当考虑构建服务器和构建服务器所在网络的安全需求,并尝试 Linux 提供的一些安全工具。
这篇文章的目的是通过采取持续集成方式,让开发过程更敏捷并提高软件的质量。创建构建服务器是具体而实用的一步,采用敏捷开发方法的更多实践还会得到进一步提高。我鼓励您阅读关于这些方法的更多内容(请参阅 参考资料)并用它们的想法来提高和调整开发过程。

sales@spasvo.com