随笔分类 - BuildRelease
摘要:一 跨平台build工具和脚本 1)GCC(Windows可以使用MinGW) 2)CMake or Scons等 3)Ant 4)Autoconf/Automake, IMake,QMake5)Maven 二 跨平台脚本 1)Shell (在Windows上可使用CygWin或UnixUtilities) 2)Python 3)Perl 完!
阅读全文
摘要:1 FxCop & FxCopCmdFxCop is an application that analyzes managed code assemblies (code that targets the .NET Framework common language runtime) and reports information about the assemblies, such as possible design, localization, performance, and security improvements. Many of the issues concern v
阅读全文
摘要:转自: http://www.cnblogs.com/bangerlee/archive/2011/09/07/2166593.html引言 最近在项目中使用了静态程序分析工具PC-Lint, 体会到它在项目实施中带给开发人员的方便。PC-Lint是一款针对C/C++语言、windows平台的静态分析工具,FlexeLint是针对其他平 台的PC-Lint版本。由于PC-Lint/FlexeLint是商业的程序分析工具,不便于大家对其进行学习和使用,因而下面我将介绍一个针对C语言 的开源程序静态分析工具——splint。 静态程序分析 先来说说什么是“静态程序分析(Static program
阅读全文
摘要:一产品和文件版本号 1)产品和文件版本号 产品和文件版本号用来标识产品或者产品中文件的版本。通常的在Windows上对于PE(DLL和EXE)文件我们可以在文件的右键的属性的版本下面看到文件的版本号和所在产品的版本信息。例如visual studio2008中vcbuild.exe的版本信息如下: 还有我们通常可以在软件的帮助下的关于对话框中看到产品的版本信息,例如Visual Stduio2008的如下: 2)文件或产品版本号规则 通常的文件或产品的版本号由 4个整数组成,形式如:AAAA.BBBB.CCCC.DDDD,例如VisualStuido2008的版本号9.0.30729...
阅读全文
摘要:build number, 也称为build id, 在build release的流程中唯一标示一个build,也是正式的产品的product version 和file version后两位(Major.minor.xxx.xxx)的来源,可以使用合适的方法将build number转化到product version和file version中。 build number可以为如下类型之一: 1)自增型,最简单的build number表示方式,例如1,2,3,4 。。。 2)week.day, 从软件的生命周期开始的周和天来表示,例如第五周星期二为5.2 3)date.ti...
阅读全文
摘要:一 WindowsDVD : 对安装文件以ISO的形式刻盘为CD/DVD发布。EF : 对安装文件压缩为自解压的exe,以web下载的方式发布。Suite : 将多个产品的打包,一般以DVD或U盘的方式发布。例如Microsoft Office的安装。Web Installer : 只是引导安装,真正安装的时候需要从网络下载。 例如IE的安装。Download manager : download manager用来在线安装多个功能相近的产品。 例如Windows Live Essentials的安装。VMWare installer: 安装在vmware中的试用版版,供用户测试使用。 Ins
阅读全文
摘要:一 branch branch即分支,在源码管理工具中创建branch其实是对source code进行一份新的copy。此新的copy在经过一段时间的开发后可以在适当的时候合并到原来的source code。 branch的主要作用是支持并行开发。 二 branch使用场合 1)当某个project发布后,我们需要开始新的版本的开发但是仍然需要对发布的产品提供fix,此时我们需要创建release branch,例如当产品发布后创建branch为release2012用来继续继续hotfix,sp1,sp2的开发。如果有需求为beta发布提 供fix,则需要创建单独的branch。 ...
阅读全文
摘要:本文主要讨论perforce的* perforce集中授权* perforce对分布式团队的支持* perforce的负载均衡和可扩展性* perforce高可用性和灾难恢复 一 perforce集中集中授权目前的情况是很多大的公司中,不同的部门有不同的p4server,就导致了公司内部多个p4server同时存在,作为p4server管理员就需要更多的精力来备份和恢复所有的server,管理所有的server的用户和权限。通常的情况是一个用户在多个p4server拥有账户,如果此用户离开公司,或需要修改名字,则需要在多个p4server上进行删除或修改。 最新2010.2以后的p4se..
阅读全文
摘要:1 p4 configure用来管理server的配置变量,且修改立即起作用,不需要重新启动server。 当我们创建新和运行新的p4server后,一般需要修改如下的配置:* 启动server进程的监视:p4 configure set monitor=1 or p4 configure set monitor=2;* 启动基于ticket的认证方式: p4 configure set security=3;* 阻止用户自己创建账号:p4 configure set dm.user.autocreate=2; 其他常用的选项:* 设置最低的client的版本:p4 congigure se.
阅读全文
摘要:Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用。他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成,操作系统shell,API等多种访问方式。而且他还能够很好地支持大型规模的软件公司的员工同时访问,能够很好地支持跨国的分布式团队的开发。对perforce server的管理也很方便。例如google就在使用perforce来管理源码。 一 Perforce 客户端入门* 客户端我们可以使用p4命令行,也可以使用基于UI的p4v,同时客户端还带有p4merge用来帮助用户执行diff和merge。* 客户端我..
阅读全文
摘要:一 perforce与SVN术语命令:二 perforce 与 clearcase术语:命令:参考: http://kb.perforce.com/article/301/subversion-vs-perforcehttp://kb.perforce.com/article/1070/mapping-cvs-terms-and-commands-to-perforcehttp://kb.perforce.com/article/1033/mapping-clearcase-terms-and-commands-to-perforce
阅读全文
摘要:一 perforce server的备份perforce server拥有checkpoint机制用来备份server的database。checkpoint,versioned files,journal(只从上次checkpoint后对server的操作)是恢复perforce server的所有的东西。我们每天晚上创建checkpoint,然后备份versioned files。以防万一我们需要保存几个checkpoints。下面是在Linux上备份perforce server的checkpoint和journal的脚本:#!/bin/bashBACKUP_DIR=/home/p4/b
阅读全文
摘要:默认地windows的安装文件perforce.exe可以将perforce或proxy安装为windows services,默认的services的名字分别为perforce和perforce proxy。但是对于在同一个windows系统上安装多个perforce或proxy的services的时候,我们需要使用svcinst.exe(可以在perforce server的安装目录下获得)来手动地完成services的安装。 一 安装第二个perforce server假设我们已经有一个perforce server安装在c:\perforce, 且以名字为perforce的servi.
阅读全文
摘要:perforce的Linux的安装一 安装前配置1) 机器配置修改机器名申请静态ip和dns上此ip到机器名的映射。2) 用户配置在root下创建用户组,用户和所在的home目录。创建perforce group : /usr/sbin/groupadd perforceg创建perforce user: mkdir /local mkdir /local/perforce /usr/sbin/useradd -m -d /local/perforce -g perforceg perforce修改perforce user的密码: /usr/bin/passwd perforce (输入12
阅读全文
摘要:perforce与分布式团队的开发一 perforce proxy和 perforce replicated serverperforce通过perforce proxy和perforce replicated servers来很好地支持分布式团队的开发。proxy和replicated servers可以根据情况单独地使用或混合使用。可以通过简单地增加新的proxy或replicated server来适应全球的新的用户的增加。perforce proxyperforce proxy的执行文件为p4p,是一个自维护的proxy server,他缓存远程的p4server的versioned
阅读全文
摘要:perforce提供了2中机制来让用户自定义或增强perforce的功能:trigger 和 daemon 。一 triggerstriggers 是用户定义的script,但是在某些特定的条件下由p4server自动调用来执行一定的功能。如果script返回0,表示成功,p4server的其他功能继续执行;如果script返回非0值,表示script执行失败,script的output将被作为error message返回为客户端。常见的trigger的作用:集成LDAP或AD用户认证方式,锁定branch,规范提交时的changelist的描述,跟新bug或task管理系统等。1)trig
阅读全文
摘要:perforce superuser任务1)server security levelsperforce支持的security level为0,1,2,3。可以通过命令p4 configure set security=seclevel来设置。level0:不需要密码。level1:所有的用户都必须有密码,且对于旧的客户端仍然可以使用弱密码。level2:所有的用户都必须使用强密码。level3:必须使用基于ticket的认证方式。2)user authentication(用户认证)perforce支持两种用户认证方式:基于password和基于ticket。password的认证方式是无状
阅读全文
摘要:perforce分支的锁定(Perforce branch locking)通常地在某些milestone的build的时候或者某些branch的生命周期结束了,我们都需要锁定branch来禁止对branch的修改。 可以通过如下的两种方法来锁定perforce branch:1)权限表(protection table)通常地我们使用一个group来管理一个branch的权限。例如默认地如下:write group envision * //dev/envision/esi/...当 我们需要锁定branch //dev/envision/esi/... 时,可以在p4admin的GUI管理
阅读全文
摘要:一 p4server上文件类型0) p4server的文件组成: 1)文件类型如下图: 2)depot目录及目录下的所有文件为developer真正提交的代码文件信息,我们成为versioned files ; (depot下文件为rcs格式,参考:http://durak.org/sean/pubs/software/cvsbook/RCS-Format.html) 例如如下changlist: 在depot下对应的文件为:versiontest.txt,v head1.75;access;symbols;locks;comment@@;1.75date2010.06.21.22.56...
阅读全文