文章分类 - BRE
摘要:Kubernetes的组件之间的关系和通信如下: Pod是容器的抽象层,可以被Service或Ingress访问。 Service提供了稳定的网络身份和负载均衡能力,可以将流量路由到多个Pod。 Ingress提供了外部访问Kubernetes集群的能力,可以将流量路由到Service或Pod。 C
阅读全文
摘要:p4 常见问题:p4 login,需要输入密码p4 -p YOUR_P4PORT login -a查看p4 login的状态,ticket是否过期p4 -p YOUR_P4PORT login -sclient spec中的选项的意义[no]allwrite Will all files be synced as read-only, or writable?[no]clobber Should a sync command overwrite any writable, unopened files?[no]compress Will data sent between client wor
阅读全文
摘要:软件质量保证-purify+purecoverage+coverity一 内存检查工具Rational PurifyPurify是动态软件分析工具用来帮助开发人员写出更加可靠的代码。Purify使用了具有专利的目标代码插入技术(OCI:Object Code Insertion)。她在程序的目标代码中插入了特殊的指令用来检查内存的状态和使用情况。这样做的好处是不需要修改源代码,只需要重新编译就可以对程序进行分析。功能包括包括1)内存调试(准确地发现未初始化的内存访问,缓冲的溢出和内存的错误释放;2)内存泄露的检查;其他的内存泄露检测工具Rational PurifyDevPartner Bou
阅读全文
摘要:为什么需要Build Release Engineer为什么需要BRE?BRE实现了软件的构建和发布的自动化流程,其中包括source->metrics->compile->test->package->deploy。自动化的流程提高了效率,避免了人为的失误,保证了软件的按时发布;自动化的流程能够尽早地发现问题,保证了软件功能的持续集成,而没有回退;自动化的流程使得软件的发布可靠且可重复; 来自某BRE的招聘JD:不是每个人都能理解可靠的版本管理和牢固的构建系统的重要性。 也不是任何人能使得软件的发布达到可靠性,可重复性和可审计的高标准。BRE的职责就是将软件的构
阅读全文
摘要:什么是双clients工作模型?nightly build在两个clients上交替的运行,当nightly build在一个client上成功后,此client将会作为开发人员的reference client,直到下次nightlybuild成功,开发人员才会切换到新的client。总之开发人员交替reference上次nightlybuild成功的client。 开发人员reference nightly client的binaries,从而实现在开发人员本地的环境中,只需要build自己修改的代码,从而减少build时间,提高工作效率。双clients工作模型需要注意:nightly
阅读全文
posted @ 2012-11-24 00:00
iTech
摘要:使用:python c:\tools\diskcleanup.py N:\target ^\d+\.\d+$ 20对于目录N:\target下的子文件夹,仅保留满足正则表达式^\d+\.\d+$的最新的20个。 ##itech#importosimportsysimportreimportshutildefcleanUp(dir,regrex,num):ifnotos.path.exists(dir)andnotos.path.isdir(dir):print'path%sisnotexistedorisnotadirectory'%dirreturnFalsesubfolde
阅读全文
摘要:BuildRelease问题* 产品的开发是敏捷还是传统的瀑布模型?* 是否需要continous build,daily build 或 weekly build?* 如何统一开发环境,使得在不同的机器均可运行?* 是否能够一键方便地build?* Build是基于全新的环境还是共用环境?* 是增量同步代码还是强制重新同步代码?* 是否需要对代码静态检查?* 是否能快速地跟新3rdparties?* Build number和product version是否合理,是否需要跟新?* 所有的build脚本是否已经被版本控制?* Build脚本是否统一,是否需要跨平台?* Build是否能够支持
阅读全文
摘要:suite USB 创建suite就是将多个安装文件打包到一起,以solution套件的形式来发布软件,所以suite的安装文件将会非常的大!一般使用USB来发布。1) 将所有的要打包到suite中的安装文件copy到一个目录下,例如D:\suitesetup;2) 分析D:\suitesetup下的重复文件,计算获得最小的存储空间,(使用MD5码来判断文件是否为同一个文件);3) 创建D:\suite.img,将D:\suite.img文件attach到虚拟盘,例如为V:(使用imdisk命令);4) 设置V:盘为压缩的(NTFS Compress);5) 将安装文件从D:\suiteset
阅读全文
posted @ 2011-06-15 17:07
iTech
摘要:一 源代码中的版本信息1).net在.net的程序中通常有assemblyinfo(.cs / .vb / .cpp)文件来包含dll/exe的版本信息。如下某assemblyinfo.cs中包含如下:[assembly: AssemblyVersion("5.00.100.00")][assembly: AssemblyFileVersion("5.00.100.00")]更通常的做法是,一个product拥有相同的版本号信息,所以产品下所有的projects公用一个assemblyinfo文件,这个公用的文件一般被更名为globalassemblyinfo(.cs / .vb / .cpp
阅读全文
摘要:* BRE是什么? BRE是Build Release Engineer的简称。我们将BRE定义为Service团队,用来将开发团队,测试团队,安装制作团队,本地化团队,发布到客户的团队有效地连接起来,从而保证了软件的按期发布。 * BRE的职责是什么? BRE与所有其他的软件团队一起工作,将软件从开发到发布的流程自动化。从而保证软件的功能稳定持续的集成和按期发布。 对开发人员来说,有源代码的管理...
阅读全文
posted @ 2010-09-19 20:12
iTech
摘要:在正式的产品发布前,应该检查下列项:* 最总发布版本需要统一存储,且备份;* 确定Disc Image的大小,Maximum CD file size is 650 MB,Maximum DVD5 file size is 4,702,873,600Bytes,Maximum DVD9 file size is 8,551,325,696 Bytes;* 确定UPI(Universal Produ...
阅读全文
摘要:一 UPI/CER/CIP1)UPI(unified product identify):用来唯一标示一个产品,被CER/CIP/update使用,一般包含5级结构,如下:product name(Visual Studio)|-release year (2008) |-platform (x86) |- GUID (***********************) |-Buildnumber(...
阅读全文
摘要:一Build Release与其他的团队在Build Release的过程中需要和软件开发的其他的团队合作,其他团队包含开发团队,测试团队,安装文件制作团队,软件本地化团队。二Build Release的输入1)Project基本信息,包含项目名字,代号,源码所在,支持的平台;2)Project的build环境和过程描述文档;3)Project的release计划,包含了所有的重要的milesto...
阅读全文
摘要:一 Rsync + Netapp 1、Rsync 通过将文件切割为多块,只传输变化的块来实现文件的快速同步。2、Netapp 使用NAS,统一存储管理,备份恢复技术。二 Rsync和Netapp来实现builds的存储和快速传输1) 架构2)技术*使用MD5码来对文件唯一标识(fsum可以生成md5);*使用Linux的hard link技术来实现冗余文件删除,相同文件只存储一份;*使用Rsync...
阅读全文
摘要:一 BuildComponents.txt[代码]通常我们使用buildcomponents.txt来记录产品所需要的components的信息,每次跟新只需要在buildcomponents.txt中跟新某些components的版本,然后使用脚本自动解析buildcomponents.txt,然后自动download 所有的components。二 updatecomponent.bat[代码...
阅读全文
摘要:一 build加速通常地,当软件的功能逐渐的增加,软件的build所需要的时间也会越来越长。build加速工具就是用来缩短build的时间,提高开发人员的工作效率。特别是当开发人员在源代码提交前需要对修改进行验证来确保没有build break,这时就需要build加速工具减少build的时间。另外地还可以建立公共的build server用来进行所有开发人员提交前的build验证,而开发人员可以...
阅读全文
摘要:一 Smoke Test AutomationSmoke Test,也称为Regression Test,通常包含软件的安装和基本功能的测试,用来保证最新的code集成且没有regression。一般地我们使用脚本来实现Smoke Test的自动化,用虚拟机VM的snapshot机制来保证clean的环境来进行Smoke Test,然后集成到Continous build或daily build中...
阅读全文
摘要:一 Build Release Management系统对于Build Release Engineer,我们通常使用专业的系统来管理所有的 continous build, daily build 和weekly build,来触发所有的build,来查看所有的build的log。我们称这种系统为Build Release Management 系统。二 Build Release Manage...
阅读全文
摘要:一 Weekly postWeekly post是指每周或每两周将daily build的安装文件或deloy文件post到公共的location供qa或其他需要的team使用。二 实现过程通常自己使用脚本来实现自动化。 如下图:详细过程:1)对daily build的安装文件进行smoke test或其他的performance test等;2)如果此build通过了smoke test或per...
阅读全文

浙公网安备 33010602011771号