集成与构建指南(3)

原创 2004年03月01日 10:10:00

4         集成环境<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

为了将源码等中间工件编译、链接生成的一个建造(build),必须使用相应的编译工具;而实现构建的自动化,则需要类似make等构建工具的支持;实施持续集成还依赖CruiseControl这类专门工具;另外由于集成通常在团队协同的环境下开展,软件配置管理工具将在此间充当重要角色

推荐的安装顺序是:克隆主机—〉安装配置管理工具客户端—〉建立用户视图—〉准备用户私有构建场所—〉配置编译环境—〉配置构建环境—〉执行初次构建

4.1         集成网络部署

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />CSDN_Dev_Image_2004-2-291841390.emz

 

4.2         编译环境

1.2.1          msvc6

本项目的首要IDE用的是MS Visual Studio 98,编译器相应的用msvc6

项目中使用了msvc6的基础库和mfc库的全集(包括unicode部件,在安装时注意要使用定制方式来选择)。

为了正常使用msvc6,注意正确设置相应的Path等环境变量,虽然安装程序能自动设置它们,但通过克隆的机器可能丢失。

环境变量示例:

Path=C:/WINNT/system32;C:/WINNT;C:/Development_Tools/Building-Utils/apache-ant-1.6.0/bin;C:/Development_Tools/Microsoft Visual Studio/Common/Tools/WinNT;C:/Development_Tools/Microsoft Visual Studio/Common/MSDev98/Bin;C:/Development_Tools/Microsoft Visual Studio/Common/Tools;C:/Development_Tools/Microsoft Visual Studio/VC98/bin; C:/Development_Tools/Microsoft Visual Studio/Common/MSDev98/bin

另外可以直接运行下列批命令来自动设置(仅对克隆的机器有效):

D:/Development_Home/Tools.Configs/path.bat

1.2.2          bcc55

为了支持第三方使用Borland IDE,需要配置Bcc55编译器。

4.3         构建工具

常见的构建工具,C/C++MakeBjamcpptasks for AntJavaAntC#NAnt。考虑到Ant具备使用方便、功能全面、XML格式可读性强、容易掌握等优点,本项目选用Ant作为首要的构建工具。

典型构建工具环境的配置为:

jsdk1.4.x——Java运行环境

apache-ant-1.6.0——Ant工具

安装路径示例:

C:/Development_Tools/Building-Utils/apache-ant-1.6.0

cpptasks1.0beta——支持Ant进行 C/C++构建的扩展

安装路径示例:

C:/Development_Tools/Building-Utils/apache-ant-1.6.0/lib/ cpptasks.jar

ant-contrib-0.6——支持Ant使用控制逻辑的扩展

安装路径示例:

C:/Development_Tools/Building-Utils/apache-ant-1.6.0/lib/ ant-contrib-0.6.jar

envset——项目组自行开发的一个WinNT环境变量设置小程序

安装路径示例:

C:/Development_Tools/Building-Utils/apache-ant-1.6.0/bin/ envset.exe

注意:

为了支持cpptasks ant-contrib的使用,必须在Ant构建脚本中加入以下声明:

       <!-- task and type extension -->

       <taskdef resource="cpptasks.tasks"/>

       <typedef resource="cpptasks.types"/>

       <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>

4.4         持续集成工具

主流的持续集成工具有CruiseControl,提供了Javadot.net两个版本。我们通过对Java版本进行相应配置,实现了C/C++项目的持续集成。

在集成服务器上的安装路径示例:

C:/Development_Tools/Building-Utils/cruisecontrol-2.1.5

为了支持C/C++项目,需要加入cpptasksant-contrib,可以通过修改CruiseControl.bat文件来实现,示例如下:

set EXTLIBDIR=%ANT_HOME%/lib

%EXTLIBDIR%/ant-contrib-0.6.jar;%EXTLIBDIR%/cpptasks.jar;

1.5         软件配置管理客户端

本项目选用ClearCase作为软件配置管理的工具。开发工作站、测试工作站和集成服务器都将安装ClearCase客户端,其安装配置参见其它ClearCase相关文档。

视图路径示例:

D:/Shared_Views/PCHL_V1_Dev

1.6         用户私有构建场所

各构建主机上需要创建类似D:/Development_Home/的目录,作为工作用户私有的开发场所,开发人员可以将/PCHL_Supports/Environments/Development/ Development_Home.zip(可以从ClearCasePCHL_Working流下找到)解压直接生成此目录集,其中D:/Development_Home/Building.Workspace子目录将用于自动构建。Development_Home.zip包内还包含CruiseControl持续集成的相关配置文件。

1.7         主机克隆

为了提高工作效率,项目组的开发工作站可以通过克隆的方式进行快速安装。环境工程师针对项目组日常开发、管理、协同等工作需要,制作了完整的系统盘(C主分区)映像,包括开发工具、CASE工具、其它常用工具等,上述构建用工具软件均包含在内。

映像有Windows2000ProfessionalWindows2000Server两个版本,源路径示例:

//back1-svr/ghost_imgs/w2ksrv_x/w2ksrv.GHO

使用者可以用支持网络连接的引导CD启动系统,执行ghost,然后进行克隆。

每日构建与持续集成联系与区别

每日构建与持续集成联系与区别 1)持续集成(Continuous Integration)贵在速度,强调一个快速反馈。      比如我一签入代码,就立刻集成,给我一个反馈,我要知道我的代码是否破坏...
  • xifeijian
  • xifeijian
  • 2013年07月18日 00:04
  • 7066

《CMDB分步构建指南》译者序,不明白概念的可以读读

CMDB是IT管理领域众多概念中最为奇妙的一个。 几年前,我的一个朋友,一位有着丰富的IT管理经验的IT主管曾经对我说:“CMDB就是个筐,别的IT管理软件做不了的事情就都往里装。” 我好奇地追问缘...
  • xiaokui008
  • xiaokui008
  • 2014年01月13日 15:17
  • 2370

MAVEN项目构建指南

Maven的安装、配置及使用入门 本书代码下载  大家可以从我的网站下载本书的代码:http://www.juvenxu.com/mvn-in-action/,也可以通过我的网站与我取得联系,欢迎...
  • changjiujiang1
  • changjiujiang1
  • 2016年12月24日 12:10
  • 966

webpack+gulp实现自动构建部署

1、初始化webpacknpm init2、用npm 安装webpacknpm install webpack -g此时 Webpack 已经安装到了全局环境下,可以通过命令行 webpack -h ...
  • longzhoufeng
  • longzhoufeng
  • 2017年05月20日 14:08
  • 574

Thinking in BigData(12)大数据之有指导数据挖掘方法模型序(3)

数据挖掘的目的,就是从数据中找到更多的优质用户。接着上篇博客继续探讨有指导数据挖掘方法模型。什么是有指导的数据挖掘方法模型,以及数据挖掘如何构建模型。在构建一个有指导的数据挖掘模型,首先要理解和定义一...
  • yczws1
  • yczws1
  • 2014年03月07日 11:13
  • 3099

前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力。当今时代,前端工程师需要维护的代码变得及...
  • OLiver_web
  • OLiver_web
  • 2017年01月01日 16:28
  • 684

基于Java的大型网站设计方案

第一章 分布式系统介绍 分布式系统的定义:组件分布在网络计算机上,组件间仅仅通过消息传递来通信并协调行动。 分布式系统的意义: 升级单机处理能力的性价比越来越低单机处理能力存在瓶颈处...
  • liunian02050328
  • liunian02050328
  • 2018年01月04日 15:14
  • 52

Heroku第三方服务接入指南(一)

Heroku,是业界领先的PaaS平台,用户能使用该平台提供的各种组件服务。这些组件服务第三方厂商提供的,Heroku与第三方服务之间有哪些约定,作为一个厂商,如何为Heroku开发第三方服务,是本文...
  • lizeyang
  • lizeyang
  • 2014年10月24日 16:54
  • 1398

Jenkins——如何快速搭建一个简单的基于 Jenkins 的持续集成环境

今天,聊一聊如何快速的搭建一个简单的基于Jenkins的持续集成环境。
  • u010164936
  • u010164936
  • 2015年01月07日 21:48
  • 3388

持续集成工具的发展历程以及未来

作为DevOps流程中的一个重要组成部分,持续集成(CI)的目标是对开发团队的代码进行集成,包括代码的构建、单元测试与集成测试的执行,以及生成执行结果的报表等等。CI使开发团队无需将时间浪费在处理代码...
  • bxh7425014
  • bxh7425014
  • 2016年04月27日 14:12
  • 1066
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:集成与构建指南(3)
举报原因:
原因补充:

(最多只允许输入30个字)