fortran编译器 win7如何进入release模式编译。试了好几次都不行,最好详细点

随笔分类 - BuildRelease
摘要: 分布式编译工具 gmake:alias make=&/usr/bin/make -j 8& 开源分布式编译: http://fastbuild.org/docs/home.html /distcc/distcc http://distcc.org/ https:/
iTech 阅读(75) |
摘要: 使用OClint进行iOS项目的静态代码扫描 原文链接:/static-code-analysis-ios-using-oclint.html 最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题。 其实对于iOS开发,我们的日常开发
iTech 阅读(240) |
摘要: Git 工作流程 作者: 阮一峰 日期: 日 Git 作为一个源码管理系统,不可避免涉及到多人协作。 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。&工作流程&在英语里,叫做&workflow&或者&flow&,原意是水流,比喻项目像水流那样,顺畅、
iTech 阅读(115) |
摘要: 转自: /gao241/p/3190701.html, 版权归原作者所有。 本文以CentOS操作系统为例介绍Sonar的安装配置,以及如何与Jenkins进行集成,通过pmd-cpd、checkstyle、findbugs等工具对代码进行持续审查。 一、
iTech 阅读(124) |
摘要: 转自: /gao241/archive//2971416.html, 版权归原作者。 本文将介绍如何配置jenkins,使其可以支持基于角色的项目权限管理。 由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三
iTech 阅读(60) |
摘要: 转自:/gao241/archive//3008380.html,版权归原作者所有。 Jenkins是一个非常出色的持续集成服务器,本文主要介绍在CentOS系统中Jenkins的基本安装配置方法,供参考。 一. 软件包: 1. 下载a
iTech 阅读(1044) |
摘要: Jenkins: Change Workspaces and Build Directory Locations 转自: http://ingorichter.blogspot.jp/2012/02/jenkins-change-workspaces-and-build.html Have you
iTech 阅读(126) |
摘要: 转自: /kaiye//issues/7 在掌握了基础的 Git 使用 之后,可能会遇到一些问题。以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 o
iTech 阅读(95) |
摘要: 代码回滚:Reset、Checkout、Revert的选择 Zhongyi Tong edited this page on Dec 8, ;· 5 revisions Pages 19 Home 2.1 快速指南 2.2 创建代码仓库 2.3 保存你的更改 2.4 检查仓库状态 2.5 检
iTech 阅读(1258) |
摘要: 代码合并:Merge、Rebase的选择 Zhongyi Tong edited this page on Dec 7, ;· 3 revisions Pages 19 Home 2.1 快速指南 2.2 创建代码仓库 2.3 保存你的更改 2.4 检查仓库状态 2.5 检出之前的提交 2.
iTech 阅读(1143) |
摘要: BY 童仲毅(geeeeeeeeek@github) 这是一篇在原文(BY atlassian)基础上演绎的译文。除非另行注明,页面上所有内容采用知识共享-署名(CC BY 2.5 AU)协议共享。 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的
iTech 阅读(917) |
摘要: 原文:/articles/KB_Article/How-To-Rollback-An-Integration当我们需要将一个branch上的代码修改集成到另一个branch的时候,我们需要执行命令p4 integ + p4 resolve + p4 submit来完成,通称我们称以上的操作为一次integration或merge。一 rollback integration/merge有的时候在我们做了p4 integ 来把代码从一个branch merge到了另一个branch,但是发现有错误,或者这个merge不需要了,这时我们将需要撤
iTech 阅读(1277) |
摘要: 1) 安装tomcat安装tomcat6: /itech/p/3506011.html安装tomcat7: /itech/p/3515846.html2) 安装jenkins下载jenkins,wgethttp://mirrors.jenkins-ci.org/war/latest/jenkins.war如果tomcat7以daemon运行,需要先设置jenkins_home:vim /etc/init.d/tomcat7 或者/usr/share/tomcat7/bin/startup.shexport
iTech 阅读(2592) |
摘要: 需要sudo或root权限。翻译自: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions1)确保centos中的java为openjdk。如果java -version输出为java -versionjava version &1.5.0&gij (GNU libgcj) version 4.4.6
(Red Hat 4.4.6-3)则需要卸载java,安装openjdk版本yum remove java然后安装openjdk如下:y
iTech 阅读(2746) |
摘要: 在centos中安装jenkins1)安装目录pwd (/home/AAA)2)检查java是否安装[AAA@Centos_AAA jenkins]$ java -versionjava version &1.6.0_22&OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.el6-x86_64)OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)3)下载jenkinsmkdir -p jenkins/jenkins_homemkdir -p j
iTech 阅读(12377) |
摘要: Perforce settings such as port, user, and workspace names using the following methods, listed in order of precedence:1.On the command line, using flags2.In a config file, if P4CONFIG is set3.User environment variables (on UNIX or Windows)4.System environment variables (on Windows, system-wide enviro
iTech 阅读(1354) |
摘要: Team Foundation Service 是微软提供的云端的开发平台。 主页:。类似于github,与github的区别是:1) github创建private的project是需要是付费用户, Team Foundation Service提供5个用户以内免费创建private的project;2)Team Foundation Service的源码管理server可以是Team Foundation Server或者是git,Team Foundation Service 提供更好的与VisualStudio的集成,但是如果是使用
iTech 阅读(378) |
摘要: p4 view mapping及其特殊字符p4中三种view:client views, branch views, and label views.注意:1)如果view中对同一个文件有多次mapping,则后面的覆盖前面的mapping。2)以-开始的mapping,用来排除文件的mapping,一般用来排除一些目录下的某些子目录或文件。3)在client views中可以在mapping的最前面有+,表示叠加的效果,不同于一般的覆盖。文件或路径中的空格://depot/v1/... &//ws/version one/...&“//depot/document 2/.
iTech 阅读(621) |
摘要: p4 sync -n 显示sync的结果,但不是真的sync。Examplesp4 syncCopy the latest revision of all files from the depotto the client workspace, as mapped through the client view.If the file is already open in the client workspace,or if the latest revision of the file exists in the client workspace, it is not copied.p4 s
iTech 阅读(1140) |
摘要: 貌似p4 add ...挺好用的。我们知道p4中没有对目录的版本控制,在p4 add的时候只能是文件,所以如果想一次把一个目录add到p4上,需要以下方法:Linux/unix 中p4 add files:find . -type f -print | p4 -x - addLinux/unix 中p4 add symbollinks:find . -type l -print | p4 -x - add -t symlink增加除了目录的所有文件:find . ! -type d | p4 -x - addwindows中的dos命令:dir /b /s /a-d | p4 -x - add
iTech 阅读(877) |
摘要: //http://www.//blogs/http://build-/////TFS:http://www.edsquared
iTech 阅读(362) |
摘要: code review:/questions/144351/comparison-of-code-review-tools-systems/software/crucible/overview/products/software-development/code-reviewhttp://www.reviewboard.org/http://getbarkeep.org//https://code.goo
iTech 阅读(1651) |
摘要: 一 静态label静态label使用labelsync或tag来生成,实际上包含了具体的文件和版本信息。 文件必须同时包含在clientspec和label的view中,clientspec和label的view可以不相同。1)server上两个depots(depot和depot2),且本地sync到最新的changelist@2C:\&p4 -p localhost:1666 -u aaa -c aaa_test depotsDepot depot
local depot/... 'Default depot'Depot depot2 2012/
iTech 阅读(1089) |
摘要: 一 查看workspace sync到的changelistperforce的workspace其实是一些特定版本的文件的结合,相比只将workspace对应到某个特定的changelist,此方法更灵活。changelist和文件间的关系为:每个changelist其实是某些特定版本文件的集合,但是并不是所有的版本的文件结合都对应到一个changelist。perforce允许用户将workspace同步到文件的某些特定版本,不一定对应一个chagnelist。使用如下三步来确定workspace的最新状态p4 changes 命令可以查看workspace中文件集合所对应的最高chagne
iTech 阅读(2908) |
摘要: Perforce2012新特征=20个用户免费+云1)免费版本最多支持20个users和20个clients了。相比以前的2个users和4个clients确实可以在小的产品中使用了。2)现在是一个云的时代,perforce公司提供源代码云也不为奇怪,不过云的安全还是重中之重。现在很多的公司都在用amazon的虚拟机和存储了,估计离源代码外包管理也不远了。3)stream,对branch的更高的抽象。完!
iTech 阅读(923) |
摘要: 1) Executor_Number的作用?executor number控制jenkins在此slave上并行执行的最大数量 。 一般设置为此slave上cpu的核数。 也可以将master的值设置为0来阻止在master机器上做build。2) Manage Jenkins -& config System - & System Message ?用来告诉用户此jenkins所服务的部门或相关的链接信息。例如:3) 开源产品对jenkins使用的实例?https://builds.apache.org/是apache software foundation使用Jenkins来自
iTech 阅读(2736) |
摘要: 一 Open Build Service(OBS)主页:http://openbuildservice.org/Open Build Service(OBS)是开放的完整的软件发布开发平台。他提供了基础架构来创建软件发布包,它支持广泛的操作系统和硬件架构,同时也支持插件(add-ons),应用镜像(appliance images)或整个Linux的发布包。 OBS提供了工具集来协作地工作,支持访问权限,合并请求和审查功能。用户可以通过web接口来方便地访问OBS,同时OBS也支持命令行或API访问。 OBS不是使用不同硬件的compiler farms来为不同架构或多种Linux(Fedor
iTech 阅读(987) |
摘要: Jenkins入门系列的文章,快速地了解和使用Jenkins。
iTech 阅读(137112) |
摘要: Jenkins整体的插件: Rebuild PluginSlave Setup PluginBackup PluginDependency Graph View Plugin 其他的有用的:Cppcheck PluginStatic Code Analysis Plug-insDoxygen PluginNUnit Plugin xUnit PluginJIRA PluginBugzilla Plugin Trac Plugin等等
iTech 阅读(7723) |
摘要: 一 dashboard插件 Dashboard View用来自定义自己的主页,例如对下列的jenkins的主页自定义dashboard来只显示自己感兴趣的job:二 Wall display 用来将jobs的状态更加直观地显示在大屏幕上。 例如将view MyDashboard显示在大屏幕上如下:+在MyDashboard状态下点击wall display进入完!
iTech 阅读(4189) |
摘要: deploy插件: Deploy Plugindeploy插件支持将War/Jar部署到远程的应用服务器上,例如Tomcat,JBoss,Glassfish。正在寻找或开发.NET web 应用的自动发布插件。如何回滚或重新部署先前的build:0) 需要被deploy的job的结果要存档,例如JavaHelloWorld的设置如下:1) 安装Copy Artifact Plugin;2) 创建一个job,在需要的时候手动启动,new job -& build a free-style software project,例如创建DeployJavaHelloWorld来deploy Ja
iTech 阅读(12105) |
摘要: Publish系列插件用来将build的结果发布到Windows,Linux,FTP共享。 Publish Over CIFS Plugin Publish Over FTP Plugin Publish Over S...
iTech 阅读(8210) |
摘要: 如果我们使用VShpere 来管理所有的build机器,则使用VSphere Cloud 插件使得虚拟机的管理更加简单,且能够更好地利用VSphere的资源。VShphere Cloud插件使得Jenkins可以控制VMWare VShpere中的虚拟机。可以配置Jenkins的slave为虚拟机,且可以指定snapshot的名字。Jenkins将自动地恢复到设置的snapshot,然后启动虚拟机作为slave来开始build。在build结束后Jenkins将自动地关闭slave,且恢复到指定的snapshot。1)首先需要配置VShpere server,在Jenkins的Configur
iTech 阅读(2088) |
摘要: Workspace Cleanup Plugin Copy To Slave Plugin一 workspace cleanup 插件用来在build开始前或build完成后清理workspace。还可以Post-build actions中设置delete workspace when build done。二 Copy to slave 插件用来将文件自动地从master上拷贝到slave,或从slave拷贝回master。使用情况:1)在build前自动地将build需要的文件从m...
iTech 阅读(3577) |
摘要: 一 Master/Slave的Node Properties用来定义slave特定的变量,例如很多的命令所在的路径。 二 job中的build parameter设置后在build启动的时候提示修改也可以使用默认值。例如启动改build的时候决定是build release还是debug。启动build时提示如下:三 EnvInject插件需要手动安装此插件,用来对job定义环境变量,还可以定义的ob的step来在build的过程中修改环境变量,例如为job定义公共的post location:在job的step中修改变量,例如修改buildplatform的值:四 运行结果如下:参考:Env
iTech 阅读(7669) |
摘要: 一 Jenkins内置的buildtoolsJenkins已经内置了Ant|Maven|Windows batch|Shell(Perl,Python)的支持。二 其他的buildtools cmakebuilder Plugin : 支持cmake的构建; Copy Artifact Plugin : 拷贝依赖的组件; Job Exporter Plugin : 将当前的运行参数导出到属性文件, 可以供以后的步骤调用;MSBuild Plugin: 使用MSBuild来构建.NET工程;NAnt...
iTech 阅读(8402) |
摘要: 一 Jenkins内置的trigger插件1) build after other projects are built 可以设置多个依赖的jobs,当任意一个依赖的jobs成功后启动此build。 多个依赖的jobs间使用,隔开。2) Trigger builds remotely (e.g., from scripts)在Authentication Token中指定TOKEN_NAME,然后可以通过连接JENKINS_URL/job/JOBNAME/build?token=TOKEN_NAME来启动build。3) build periodically在schedule中设置,语法类似于
iTech 阅读(6371) |
摘要: Perforce Plugin,在Jenkins的管理页面的插件管理下面安装Perforce插件,然后重启Jenkins。一 使用perforce插件来build 对job的设置如下图:job执行后的log如下:可以看到Jenkins在执行的过程中创建了新的clientspec,新的clientspec是拷贝自上面参数workspace设置的clientspec,且修改了新的clientroot目录,其中的view是来自上面参数view-&mapping中的设置。如下:二 使用perforce插件的poll功能来触发build配置如下:查看如下: 三 使用perforce插件在Jenki
iTech 阅读(5703) |
摘要: 一 Jenkins的授权和访问控制默认地Jenkins不包含任何的安全检查,任何人可以修改Jenkins设置,job和启动build等。显然地在大规模的公司需要多个部门一起协调工作的时候,没有任何安全检查会带来很多的问题。 我们可以通过以下2方面来增强Jenkins的安全:1) Security Realm,用来决定用户名和密码,且指定用户属于哪个组;2) Authorization Strategy,用来决定用户对那些资源有访问权限;在Manage Jenkins -& Configure System -& Enable Security 下可以看到可以使用多种方式来增强Jen
iTech 阅读(26859) |
摘要: Jenkins的job-&build 支持Ant,maven,windows batch和Shell, 但是我们知道python,perl,ruby等脚本其实也是shell脚本,所以这里的Shell可以扩展为python,perl,ruby等。例如: 下面执行windows batch 和python执行后的输入如下:可以看到windows batch和shell脚本被保存到slave上的临时目录下,然后再执行。完!
iTech 阅读(13356) |
摘要: Jenkins最佳实践,其实大部分对于其他的CI工具同样的适用: * Jenkins的安全。对Jenkins的用户使用授权和访问控制。默认地Jenkins不执行任何的安全检查,这意味着任何人都可以访问Jenkins来配置Jenkins,修改job,和执行build。这对于在企业内部使用也许可以接受,但是存在很高的安全风险,例如其他人错误滴删除了job,错误地配置你的job在每分钟运行,启动太多的builds等。所以一般使用plugin来对Jenkins增加授权和访问控制。* 有规律地对Jenkins的home目录的备份。* 使用file fingerprinting来管理依赖关系。当在Jen.
iTech 阅读(22269) |
摘要: 一 Jenkins Master/Slave架构 Master/Slave相当于Server和agent的概念。Master提供web接口让用户来管理job和slave,job可以运行在master本机或者被分配到slave上运行。一个master可以关联多个slave用来为不同的job或相同的job的不同配置来服务。 当job被分配到slave上运行的时候,此时master和slave其实是建立的双向字节流的连接,其中连接方法主要有如下几种: 1)master通过ssh来启动slaveJenkins内置有ssh客户端实现,可以用来与远程的sshd通信,从而启动slave agent。这是对*
iTech 阅读(27207) |
摘要: 作为slave的Linux机器为centos系统。1) Linux 的 Slave机器设置 创建jenkins用户sudo /usr/sbin/useradd -m jenkins -d /home/jenkins;查看jenkins用户及组的信息id jenkins : uid=506(jenkins) gid=506(jenkins) groups=506(jenkins) ;使用sudo /usr/bin/passwd jenkins来设置用户jenkins的密码为0;切换到用户jenkins环境下su - jenkins;确保java安装正确:java --version;确保ss..
iTech 阅读(16397) |
摘要: 参考:https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+machines一 创建新的Slave注意Jenkins中slave称为note。 所以下面文章中的slave和node指的是一回事。1)在Manage Jenkins--&Manage Nodes --&New Node下:输入Node Name,且选择Dumb Slave作为Slave的类型,然后OK。 2)在Slave的配置页面,输入如下:*executors的数量,1或多个;*输入Slave
iTech 阅读(20702) |
摘要: 1 修改jenkins的根目录,默认地在C:\Documents and Settings\AAA\.jenkins 。.jenkins ├─jobs│ └─JavaHelloWorld│ ├─builds│ │ ├─_16-48-17│ │ ├─_16-49-05│ │ ├─_16-49-29│ │ ├─_17-01-49│ │ └─_17-11-42│ └─workspace│ ├─build│ │ ├─classes│ │ │ └─oata│ │ └─jar│ └─src│ └─oata├
iTech 阅读(58556) |
摘要: 注意:我们知道Jenkins通过master/slave来支持分布式的job运行,这里的JavaHelloworld运行在master,即Jenkins所在的机器。一 Java的HelloWorld程序 Ant构建脚本:c:\JavaHelloWorld\build.xml &projectname=&HelloWorld&basedir=&.&default=&main&&&propertyname=&src.dir&value=&src&/&&propertyn
iTech 阅读(30616) |
摘要: 1 JenkinsJenkins由以前的hudson更名而来。Jenkins的主要功能是监视重复工作的执行,例如软件工程的构建或在cron下设置的jobs。具体地:*软件的持续构建和测试,此时Jenkins与CruiseControl或DamageControl相似。本质上提供了一个易于使用的持续集成系统,使得开发人员更容易地将改变集成到工程中,使得用户更容易获得一个新的build。自动化,持续的构建提高了软件开发的效率。*监视外部运行的job的执行,例如cron jobs或procmail jobs,即使这些jobs是运行在远程的机器上。例如,对于cron,你将会收到email包含job的o
iTech 阅读(41644) |
摘要: Ant是软件构建工具,Maven的定位是软件项目管理和理解工具。Maven除了具备Ant的功能外,还增加了以下主要的功能:1)使用Project Object Model来对软件项目管理;2)内置了更多的隐式规则,使得构建文件更加简单;3)内置依赖管理和Repository来实现依赖的管理和统一存储;4)内置了软件构建的生命周期; 一 POM(Project Object Model)与项目管理每一个Maven工程都包含一个pom.xml文件,其他存储了该工程相关的信息,从而达到一定的项目管理的功能。例如包含了工程的配置,缺陷跟踪系统信息,工程的组织,许可协议,工程的路径,依赖等信息。典型的.
iTech 阅读(34700) |
摘要: 一 &path/& 和 &classpath/&你可以用&:&和&;&作为分隔符,指定类似PATH和CLASSPATH的引用。Ant会把分隔符转换为当前系统所用的分隔符。 当需要指定类似路径的值时,可以使用嵌套元素。一般的形式是 &classpath& &pathelement path=&{classpath}&/& &pathelement location=&lib/helper.jar&/& &/classpath& location属
iTech 阅读(16220) |
摘要: 一 Ant命令行ant [options] [target [target2 [target3] ...]] Options: -help print this message -projecthelp print project help information -version print the version information and exit -quiet be extra quiet -verbose be extra verbose -debug print debugging information -emacs produce logging information w
iTech 阅读(29154) |
摘要: 一 Task的命令行参数 有些task可接受参数,并将其传递给另一个进程。为了能在变量中包含空格字符,可使用嵌套的arg元素。 Attribute Description Required value 一个命令行变量;可包含空格字符。只能用一个 line 空格分隔的命令行变量列表。 file 作为命令行变量的文件名;会被文件的绝对名替代。 path 一个作为单个命令行变量的path-like的字符串;或作为分隔符,Ant会将其转变为特定平台的分隔符。 例子 &arg value=&-l -a&/& 是一个含有空格的单个的命令行变量。 &arg line=&
iTech 阅读(4276) |
摘要: 一 Ant 介绍Ant是构建工具,用来实现软件的自动化的构建,类似于VisualStudio的project文件,Linux上构建C++的makefile,Ant通常用来构建Java程序。 Ant是基于XML的文件,所以更容易阅读;Ant是用Java实现的,本身支持跨平台;Ant基于插件的方式开发,本身内置了常用的大部分的插件,而且第三方的扩展也很容易;Ant除了用来构建Java程序,也可以用来构建其他的任何程序,例如C++等。 和Ant类似,能够支持跨平台的其他的一些非常优秀的构建工具有Maven,Scons,CMake等。二 Ant的配置 1)安装jdk,设置JAVA_HOME=D:\Ja
iTech 阅读(1307) |
摘要: 转自: /blog/448578 + /blog/586578 备份策略============== svn备份一般采用三种方式: 1)svnadmin dump 2)svnadmin hotcopy 3)svnsync. 注意,svn备份不宜采用普通的文件拷贝方式(除非你备份的时候将库暂停),如copy命令、rsync命令。 笔者曾经用 rsync命令来做增量和全量备份,在季度备份检查审计中,发现备份出来的库大部分都不可用,因此最好是用svn本身提供的功能来进行备份。 优缺点...
iTech 阅读(25901) |
摘要: 使用svnsync镜像版本库转自://%E4%BD%BF%E7%94%A8svnsync%E9%95%9C%E5%83%8F%E7%89%88%E6%9C%AC%E5%BA%93/术语 为了更好的讨论svnsync,而不会陷入混淆,在继续之前我们应当建立一些术语: 主(Master): 将要通过svnsync被同步的活动读/写版本库。镜像(Mirror): 将要与master通过svnsync同步的只读版本库。 总揽 Subversion 1.4发布之后,svnsync工具就成了标准Subversion的一部分,可以用”一.
iTech 阅读(1844) |
摘要: 在service进程中每隔5分钟使用p4 monitor命令来检测perforce是否可连接,如果不可连接则发送email给管理员。 完!
iTech 阅读(350) |
摘要: 一 分布式软件开发环境对于跨国的软件公司,经常会出现同一软件的开发团队分布在世界各地,我称这种开发环境为分布式的软件开发环境。如下图:二 问题及方法要使分布式的团队能够高效地运作,我们通常会使用额外的工具或方法来避免距离和网络的影响,一些经验可能有所帮助:1)公司内部使用sharepoint,wiki来进行document的共享;2)使用netmeeting,livemeeting,communicator来进行会议时desktop的共享;3)使用polycom,roundtable或telepresence来进行多方的电话和视频会议;4)开发人员使用支持分布式的source control
iTech 阅读(402) |
摘要: 一 p4的API支持几乎所有的常用的语言1)查看p4 API 主页: /perforce/loadsupp.html#api(包含下载 和 p4script.pdf) 2)支持几乎所有的语言: Perforce C/C++ API Perforce Java API Perforce Perl API Perforce Ruby API Perforce Python API Perforce PHP API Perforce Objective-C API P4COM, a COM Interface to the Perforce C++ AP
iTech 阅读(1300) |
摘要: 来自Mozilla build tools下的脚本: 一 guess-msvc.bat REM-*-Mode:tab-width:8;indent-tabs-mode:1-*-@ECHOOFFsetCYGWIN=ifnotdefinedMOZ_NO_RESET_PATH(setPATH=%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem)REMifDISPLAYisset,rxvtattemptstoloadlibX11.dllandfailstostartREM(seemozillabug376.
iTech 阅读(844) |
摘要: 一 Mozilla Build Tools Mozilla 开源组织拥有很多伟大的跨平台产品,例如,Firefox, Thunderbird, Mozilla Suite / SeaMonkey, XULRunner, Sunbird, standalone Composer, standalone XPCOM, and standalone XPConnect。其中大部分的都是使用Mozilla build system来完成build的。Mozilla build system是基于GNU Make 和 autoconf的。在Mozilla,make用来编译libraries和exec..
iTech 阅读(978) |
摘要: 一 SCons SCons是下一代的开源的软件构建工具。 主页:http://www.scons.org/ 参考:/linux/skip/Articles/SConsExamples.html 二 Scons特点 特点如下: 1)配置文件是python脚本(使用功能强大的真实的编程语言解决build的问题)。 2)内置的C/C++/Fortran的可信的,自动的依赖分析,不在需要make depend或make clean来得到所有的依赖关系。依赖关系分析很容易使用用户定义的dependency scanner扩展到其他的语言和文件类型。 ...
iTech 阅读(513) |
摘要: 一 CMake CMake 是一个跨平台的构建工具,通过一次的cmake script的编写,能够生成常见平台常见IDE的project文件或maikefile文件,例如生成visual studio project文件,eclipse project文件,makefile等;同时相对于linux的automake工具生成makefile的过程相对简单。 主页:http://www.cmake.org/ 参考:/developerworks/cn/linux/l-cn-cmake/index.html Eclipse 插件:http://www.ct...
iTech 阅读(1496) |
摘要: 一 跨平台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 完!
iTech 阅读(369) |
摘要: 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
iTech 阅读(528) |
摘要: 转自: /bangerlee/archive//2166593.html引言 最近在项目中使用了静态程序分析工具PC-Lint, 体会到它在项目实施中带给开发人员的方便。PC-Lint是一款针对C/C++语言、windows平台的静态分析工具,FlexeLint是针对其他平 台的PC-Lint版本。由于PC-Lint/FlexeLint是商业的程序分析工具,不便于大家对其进行学习和使用,因而下面我将介绍一个针对C语言 的开源程序静态分析工具——splint。 静态程序分析 先来说说什么是“静态程序分析(Static program
iTech 阅读(2640) |
摘要: 一产品和文件版本号 1)产品和文件版本号 产品和文件版本号用来标识产品或者产品中文件的版本。通常的在Windows上对于PE(DLL和EXE)文件我们可以在文件的右键的属性的版本下面看到文件的版本号和所在产品的版本信息。例如visual studio2008中vcbuild.exe的版本信息如下: 还有我们通常可以在软件的帮助下的关于对话框中看到产品的版本信息,例如Visual Stduio2008的如下: 2)文件或产品版本号规则 通常的文件或产品的版本号由 4个整数组成,形式如:AAAA.BBBB.CCCC.DDDD,例如VisualStuido2008的版本号9.0.30729...
iTech 阅读(2473) |
摘要: 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...
iTech 阅读(1085) |
摘要: 一 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
iTech 阅读(445) |
摘要: 一 branch branch即分支,在源码管理工具中创建branch其实是对source code进行一份新的copy。此新的copy在经过一段时间的开发后可以在适当的时候合并到原来的source code。 branch的主要作用是支持并行开发。 二 branch使用场合 1)当某个project发布后,我们需要开始新的版本的开发但是仍然需要对发布的产品提供fix,此时我们需要创建release branch,例如当产品发布后创建branch为release2012用来继续继续hotfix,sp1,sp2的开发。如果有需求为beta发布提 供fix,则需要创建单独的branch。 ...
iTech 阅读(821) |
摘要: 本文主要讨论perforce的* perforce集中授权* perforce对分布式团队的支持* perforce的负载均衡和可扩展性* perforce高可用性和灾难恢复 一 perforce集中集中授权目前的情况是很多大的公司中,不同的部门有不同的p4server,就导致了公司内部多个p4server同时存在,作为p4server管理员就需要更多的精力来备份和恢复所有的server,管理所有的server的用户和权限。通常的情况是一个用户在多个p4server拥有账户,如果此用户离开公司,或需要修改名字,则需要在多个p4server上进行删除或修改。 最新2010.2以后的p4se..
iTech 阅读(670) |
摘要: SCM软件配置管理
iTech 阅读(2450) |
摘要: 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.
iTech 阅读(1591) |
摘要: Perforce是目前比较流行的集中式的源代码管理工具,在很多的欧美跨国公司被广泛的使用。他能够运行于Windows,Linux,Mac几乎所有的平台,支持客户端,命令行,IDE集成,操作系统shell,API等多种访问方式。而且他还能够很好地支持大型规模的软件公司的员工同时访问,能够很好地支持跨国的分布式团队的开发。对perforce server的管理也很方便。例如google就在使用perforce来管理源码。 一 Perforce 客户端入门* 客户端我们可以使用p4命令行,也可以使用基于UI的p4v,同时客户端还带有p4merge用来帮助用户执行diff和merge。* 客户端我..
iTech 阅读(3676) |
摘要: 一 perforce与SVN术语命令:二 perforce 与 clearcase术语:命令:参考: /article/301/subversion-vs-perforce/article/1070/mapping-cvs-terms-and-commands-to-perforce/article/1033/mapping-clearcase-terms-and-commands-to-perforce
iTech 阅读(632) |
摘要: 一 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
iTech 阅读(814) |
摘要: 默认地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.
iTech 阅读(1199) |
摘要: 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
iTech 阅读(2457) |
摘要: 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
iTech 阅读(1079) |
摘要: 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
iTech 阅读(1243) |
摘要: 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的认证方式是无状
iTech 阅读(1016) |
摘要: 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管理
iTech 阅读(690) |
摘要: 一 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;comment@@;1.75date.22.56...
iTech 阅读(1305) |
摘要: 一 使用p4admin.exe GUI工具来管理1) 创建用户2) 创建group通常地我们使用group来管理user对某个产品的访问权限,例如对于projectA,我们创建group projectA,将projectA的所有users加入到group projectA中。 通常地我们还有readonly和service groups来设置只读权限和后台运行的密码不过期的用户组。3) 权限管理通过权限管理表来管理用户或组的权限的分配,而且可以很直观地在右边预览到所分配的权限。 权限表中所有的字符需要区分大小写,且表的行有先后的顺序,后面的覆盖前面的。 二 权限的解释1)高等级的权限自动地包
iTech 阅读(1374) |
摘要: 一 p4server的管理 1)用p4d.exe来p4server的管理。2)也可以用p4的子命令admin在远程机器上执行一些p4server的管理,此时需要设置p4port,p4user等环境变量。3)使用UI的p4admin.exe来管理。 参考:/perforce/doc.current/manuals/cmdref/admin.html /perforce/doc.current/manuals/p4sag/index.html二 p4d.exe1)p4d.exe 注意:-jc : 创...
iTech 阅读(1047) |
摘要: 一 p4 server0)在官网上下载perforce.exe,然后安装,安装后默认地perforce以service的方式运行。1)p4server的可执行文件为p4d.exe (running as a server) or p4s.exe (running as a service)。2)p4管理员操作,需要p4 user为superuser,至少有admin权限。二 p4server的启动1)安装后perforce默认地已经以windows service的方式在运行了,可以在service控制面板中查看。也可以在service控制面板中对perforce service停止,启动和重
iTech 阅读(2017) |
摘要: 1 p4 delete p4中文件删除以后,以前的版本任然保留。可以在p4v中选择view-&Filter deopt -& show deleted depot files来设置显示删除的文件。 p4从不真正删除文件。 2p4 label 和 branch区别 label相当于是个标记,只包含了文件名和版本信息; branch相当于是将原有的代码重新copy一份; label用来标记重要的源代码时刻,但是如果要某时刻的源代码copy出来继续开发,必须使用branch。 3changelist & label 区别 从上面的操作来看,label和changelist拥有相同
iTech 阅读(874) |
摘要: p4的分支创建和集成过程主要包含4个步骤: (1) 使用‘p4 branch’创建branch spec;(2)使用’p4 integrate‘来实现分支间的集成;(3)使用‘p4 resolve’来完成冲突的合并;(4)使用‘p4 submit’提交集成的结果。如下为在p4v中的操作。一 创建branch spec如下过程创建projectA的main与2012RTM的branch spec。操作为new branch mapping。二 创建新的分支如下过程创建2012RTM分支! 1) 在branch spec上右键 -&integrate using this branch ma
iTech 阅读(3632) |
摘要: 一 p4命令行 1)p4counter.batcallp4env.batREMcounterisonepersistantvariablewhichisstoragedinp4serverREMp4defaultcounterforlatestclp4counterchangeREMallp4countersp4countersREMneedsuperuserpermissionp4counterlastpassedcl25000pauseREMusecounterp4counterlastpassedclpauseREMdeletecounterp4counter-dlastpassedcl
iTech 阅读(1475) |
摘要: 一 P4(perforce)环境和sample project p4 环境: sample project: 二 P4命令行 1)p4env.batsetpath=C:\ProgramFiles\P%path%setP4Port=localhost:1666setp4user=AAAsetp4passwd=aaasetp4client=TestProject_AAAsetp4Root=//depot/TestProjectsetp4LocalRoot=c:\MyLocalTestProjectsetp4Drive=H:ifexist%p4Drive%(subst/d%p4...
iTech 阅读(3402) |
摘要: 以下的操作基于P4V。 1p4 refresh all 某些情况下某些修改不能实时地在p4v中跟新,此时可以使用p4v refresh all。 还可以在任意的item上右键中找到refresh相关的操作。例如本地目录下删除或增加文件,在p4v中不能的及时反映,这个时候可以在 workspace中的目录中右键中点击refresh相关选项。当然其他的changelist,client,depot等也都有相应的 refreash。 操作: view-&refreash all 2 p4 rollback 用来将已经提交的修改撤销,或者恢复到某个之前的changelist。 如果是没有提交的修
iTech 阅读(4559) |
摘要: 以下的p4的基本操作是基于P4V,p4V是跨平台的p4 visual client。1) 登录和环境变量。server,等于环境变量P4PORT的值,表示p4 server的地址; user,等于环境变量P4USER的值,为p4的用户名,唯一标识一个用户;workspace,等于P4CLINT的值,表示server与本地的目录的对应。2) workspace, 也称为client spec,表示了server与本地的源码的目录对应关系。3) 增加新的文件,操作为workspace-&在文件或文件夹上右键 -& mark for add4)删除文件,操作为depot-& 在文件
iTech 阅读(1294) |
摘要: 一 perforce(p4)perforce是集中式的商业的SCM软件。优点如下:1)被证明的SCM解决方案,全球超过5000家软件公司使用;2)无限制的可伸缩性,高性能的架构支持2到8000用户的使用;3)快速的SCM操作,perforce server和client通过高度定制的流消息协议传输;4)全功能的跨平台的基于QT的图形UI;5)支持分布式跨国的软件开发团队,perforce proxy使得跨国公司在全球的协作开发仍然高效;6)与常用的其他软件开发相关的软件的高度集成,例如visualstudio,Eclipse,office等;7)高效的perforce server的管理,可以
iTech 阅读(1603) |
摘要: 转自:/andgame/archive//1853733.html/selfly/archive//1935715.htmlLinux 安装SVN + Apache + 权限控制 一:相关版本subversion在安装的时候,要求相关软件的版本一致,而不是说软件版本最新就最好.下面是我安装的相关版本.httpd-2.2.3.tar.gzsubversion-deps-1.4.0.tar.gzsubversion-1.4.0.tar.gz 二:安装准备# mkdir .
iTech 阅读(1122) |
摘要: 一 SVN命令行简介1)命令行方式的SVN Server和Client下载: http://www.collab.net/downloads/subversion/2)设置path路径:set path=&C:\Program Files\CollabNet\Subversion Server&;%path%3)svn 的server 和 client相关的命令行主要包含:svn,svn子命令包含了所有的client操作;svnadmin,svnadmin用来管理SVN Server,其中Server最主要的一个操作就是创建repository命令svnadmin crea
iTech 阅读(3442) |
摘要: TortoiseSVN的安装非常简单,安装后以windows shell的形式来使用。一 图标TortoiseSVN 重载了文件和文件夹的图标来更好的显示版本控制的状态。如下: :一个新检出的工作副本使用绿色的对勾做重载。表示 Subversion 状态正常。 :在你开始编辑一个文件后,状态就变成了已修改,而图标重载变成了红色感叹号。通过这种方式,你可以很容易地看出哪些文件从你上次更新工作副本后被修改过,需要被提交。:如果在更新的过程中出现了冲突,图标会变成黄色感叹号。 :如果你给一个文件设置了svn:needs-lock属性,Subversion 会让此文件只读,直到你获得文件锁。具有这个重
iTech 阅读(3487) |
摘要: VisualSVN Server : 为SVN的server端程序;TortoiseSVN : 为SVN的client端程序;一 VisualSVN ServerVisualSVN Server是一个可视化的Windows版本的SVN Server。主页:/server/。安装和配置很简单。步骤:1)安装2)安装 (可以修改repository的位置和选择是否使用security)3)创建用户 4)创建group5)创建Repository6)设置Repository的访问权限二 TortoiseSVN ClientTortoiseSVN 是免费
iTech 阅读(746) |
摘要: 转自:/?p=2129+ /?p=2115 参考:/posts/a-successful-git-branching-model/ 一张描述git数据迁移的示意图,很清晰,对于理解git的命令很有帮助,转发分享在这里: 1 GIT,在技术层面上,绝对是一个无中心的分布式版本控制系统,但在管理层面上,我建议你保持一个中心版本库。 2 我建议,一个中心版本库(我们叫它origin)至少包括两个分支,即“主分支(master)”和“开发分支(develop)” 3 要确保:团队成员从主分支(
iTech 阅读(1948) |
摘要: 一 分布式的源码管理工具Mercurialmercurial 作为3大主流的分布式源码管理工具,已经被广泛的使用。 例如
都支持mercurial作为源码管理工具。 主页:/ 更多的帮助:http://hgbook./ 和 TortoiseHg.chm 超级超级好的ppt:http://www.slideshare.net/tednaleid/distributed-version-control-dvcs-with-mercurial windows下安
iTech 阅读(2935) |
摘要: 一 源码管理工具 源码管理(SCM/Source Code Management),也称为版本控制系统(VCS/Version Control System)。 1)为什么我们需要SCM/VCS 1. 备份和恢复:源码是软件公司的财富,备份和恢复用来防止意外的损失; 2. 同步:同一项目中多程序员间实现代码的共享和同步; 3. 短期的撤销:通常的如果某个开发人员的提交导致了break,则可以撤销导致break的提交; 4. 长期的撤销:如果某个BUG是很久以前的提交导致,则可以撤销到当时提交的版本来debug; 5. 跟踪改变:每次改变的提交都有注释,改变的历史会被保存,我们还可以看到提交的时
iTech 阅读(2845) |
摘要: 转自:q.com/cn/news/2011/07/ci-automatic-deployment在前文《依赖管理》中,我们讨论了如何在代码变得庞大,组件增多的情况下,做好外部库和内部组件依赖管理,从而提高构建效率。可以应用的实践包括:一次生成,多次复用;建立统一制品库,外部依赖库可以使用像Maven或Ivy这样的工具进行统一管理;对架构进行调整,使一个大的代码库分成多个组件;每个组件有自己的持续集成体系;对多个组件做持续集成。然而,解决一个问题后,总会有另一个问题等在那里,需要你来解决。这次Joe的团队遇到了部署问题。星期一早上,Alice一进办公室,就看到一脸倦
iTech 阅读(1172) |
摘要: 转自:q.com/cn/news/2011/05/ci-dependency-management/page/101101/在前文《分支策略(续)》中,我们讨论了多组件应用程序的持续集成策略,即:为相对独立的组件创建自己专属的代码库,然后通过现代持续集成工具进行组件间的持续集成。Joe的团队在首次发布之后,开始使用这种方式。然而,没有多久,他们就遇到了一个问题:一次提交构建所花费的时间太长。 一天,Joe就早早地来到了办公室。因为他前一天下班前,他开发的用户故事还有一小点就完事儿了。他想利用早上这点儿时间把它搞完,交给测试
iTech 阅读(472) |
摘要: 转自:q.com/cn/news/2011/03/ci-branch-strategyq.com/cn/news/2011/04/ci-branch-strategy-2/page/96915//page/96916/持续集成之“分支策略”现代版本控制系统(SCM)的作用已不仅仅是保存历史版本,它还是各软件开发组织利用其分支功能实现多人并行开发,提高生产效率的一种工具。对于稍有历史的软件产品来说,一般都会有代码分支的出现,也常常见到一些历史悠久的产品其
iTech 阅读(993) |
摘要: 一 Parabuild Viewtier Systems公司的Parabuild系统,是一个自动化的软件构件和发布管理系统,通过可靠的软件发布流程和持续集成来帮助软件公司按时的发布软件。/index.htm 二 支持的平台和功能1) 支持几乎所有的平台 WindowsLinuxMac OS XSolarisHPUX-11Generic Unix2) 几乎包含了软件构件和发布管理系统的所有功能 + /products/parabuild/feature_overview.htm 三 使用Parabuild
iTech 阅读(452) |
摘要: 转自:q.com/cn/articles/ci-theory-practice最近雷镇同学将Martin Fowler先生的著名论文《持续集成》第二版翻译成中文并发布出来,掀起了国内对于持续集成理论和实践讨论的新的高潮。笔者在本文中将全面对比持续集成 论文前后两版的异同,分析并展示ThoughtWorks在持续集成领域的理论和实践方面的研究成果,以图对国内企业实施持续集成起到参考和借鉴作用。需 要说明的是,本文所介绍的内容毕竟限于笔者的水平,并且主要是ThoughtWorks内部开发和对外咨询实践的总结,所以未必对读者所遇到的情况是适用 的,请自行甄别。 《持续集
iTech 阅读(1484) |
摘要: 软件构建发布自动化, 软件持续集成和发布
iTech 阅读(2856) |
摘要: 数字签名(代码签名)流程 Authenticode : 这里翻译为数字认证代码。 code sign : 字面的翻译为代码签名,但是通常的我们称为数字签名,以下的文中均称为数字签名。 一 数字认证码如果你是软件开发人员,你可能已经知道windows系统和一些浏览器(例如IE,Firefox)使用一种称为数字认证代码的技术来标识软件的发行商,来检查软件没有被病毒影响。如果你的软件没有用数字认证代码签名,用户将会收到一个警告“此软件发行商不能被成功的验证,你是否要继续运行此软件“,很多的用户为了安全起见将放弃对此软件的使用。 如果你的软件是提供给专业的人员使用,结果肯能会更糟。许多公司的IT安全策
iTech 阅读(8488) |
摘要: 通常的我们在软件发布前要对binary(dll,exe)进行数字签名,数字签名可以标识软件的发布商,也可以通过数字签名来检查此软件是否被修改或受病毒影响。在需要检查某个文件的数字签名时,通常情况下总是需要打开文件的属性对话框,切换到“数字签名”对话框,然后才能在这里查看到相关的数字签名信息,如下图:sigcheck是来自sysinternals的数字签名验证工具,可以查看指定的文件或目录下的哪些文件没有数字签名。 此工具是命令行工具,可以用来批量检查某个文件夹下相关文件的数字签名。帮助如下:使用如下:对目录C:\Program Files (x86)\Microsoft Visual Stud
iTech 阅读(3417) |
摘要: 源代码的浏览和查询源代码浏览和查询(Source code browser and search)工具的特点:1)支持所有的源码管理工具,例如CVS,Subversion,Perforce,ClearCase,Git,Mercurial等;2)通过web浏览器来查看所有的源代码,对源代码的查找,对源码的diff;3)通过web浏览器以报表的形式来查看项目的活动情况,查看开发人员的提交频率,查看项目的代码行数的统计;4)与issues和tasks管理工具关联,可以方便地在issues和task管理工具中定位到相关的源代码;相关的工具:1) FishEye : (商业)http://www.atl
iTech 阅读(723) |
摘要: perforce blog: /blogPerforce Technical Product Overview/perforce/bullet.html perforce knowledge base/Perforce Technical Document/perforce/technical.htmlPerforce Media Library/perforce/m
iTech 阅读(541) |
摘要: BuildForge的帮助:http://publib./infocenter/bldforge/v7r1m2/index.jsp?topic=/com.ibm.rational.buildforge.doc IBM Rational Build Forge: Build and release process managementImprove your build process with IBM Rational Build Forge, Part 1: Create a continuous build and integration environmen
iTech 阅读(593) |
摘要: svn的外部定义svn:externals转自:http://blog.csdn.net/jaconey/archive//2448986.aspx解决你的外部依赖 -- svn:externals 在日常的项目版本管理中, 根据自己的需要, 我们很有可能需要把不同的repository放到不同的目录中, 又或者把几个repository放到一起. 多数时候, 这都是为了解决build中的依赖, 所以这种&个性化&的结构是应该共享, 成为版本的其中一个部分. 否则项目成员就需要各自建立这样的结构, 风格不一, 也有可能造成遗漏.Subversion 内嵌
iTech 阅读(2396) |
摘要: 一 buildbot安装1. install TwistedTwisted 依赖 zope.interface and Pythonwget -c http://tmrc.mit.edu/mirror/twisted/Twisted/8.1/Twisted-8.1.0.tar.bz2python setup.py install --prefix=$HOMEinstall zope.interfacewet -c http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gzpython setup.py
iTech 阅读(1583) |
摘要: 按主题管理插件 源代码管理Hudson本身支持Subversion、CVS以及下列插件:BitKeeper Plugin — 为Hudson添加BitKeeper(Linux 内核开发人员在全球使用的主要源代码工具)支持。Visual SourceSafe Plugin — 该插件集成微软的VSS到Hudson。 Git Plugin — 该插件允许使用GIT作为一个构建SCM(源代码控制管理系统),但必须使用Git 1.3.3及以上。 Team Foundation Server Plugin — 该插件集成了 MicrosoftTeam Foundation Server源码控制到Huds
iTech 阅读(2906) |
摘要: 一 hudson (continuous integration 工具)1)主页:http://hudson-ci.org/ 2)下载:在主页上下载hudson.war;3)确保你的机器上有java,需要1.5以上版本,运行java -jar hudson.war;4)访问hudson界面:http://localhost:8080 建议:设置环境变量HUDSON_HOME用于指定hudson运行时文件的存放位置。正式运行时,需要将hudson作为service或daemon自动运行。或者hudson在tomcat容器中运行。或者hudson在jboss容器中运行。最新版本改为jenkins:
iTech 阅读(699) |
摘要: * Ant中可以自定义属性,例如 &propertyname=&var1&value=&value1&/&;* 也可以使用Java的系统属性,例如:java.runtime.name = Java(TM) 2 Runtime Environment, Standard Editionsun.boot.library.path = C:/j2sdk1.4.2_09/jre/binjava.vm.version = 1.4.2_09-b05java.vm.vendor = Sun Microsystems Inc.java.vendor.url
iTech 阅读(3754) |
摘要: ANT十五大最佳实践转自:.cn/news/ant15toppractices.php?c=java作者:Eric M. Burke, coauthor of Java Extreme Programming Cookbook原文:/pub/a/onjava//ant_bestpractices.html译者:徐彤/itech/admin/msn:在Ant出现之前,构建和部署Java应用需要使用包括特定平台的脚本、Mak
iTech 阅读(808) |
摘要: 一 CC.NET的操作流程1) 等待Trigger的唤醒;2)从Source Control System查询上次build以后的修改列表;3)如果任何修改被发现或是Trigger触发类型为 'force the build' : 3.1)为build产生一个label number;3.2)按照prebuild tasks的指定顺序运行prebuild tasks,如果有error则终止build; 3.3)从Source Control System获得source code; 3.4)按照build tasks的指定顺序运行build tasks,如果有error则终止b
iTech 阅读(791) |
摘要: 一 FinalBuilderFinalBuilder其实包含了2个部分:1) FinalBuilder - Visual Build AutomationFinalBuilder 包含了拥有大量提前实现的脚本库与一个可视化的IDE,使的定义和实现一个build的自动化更加快速。你不必使用批处理文件,脚本或者XML,从而使你从手动的build过程中解放。 你可以更多地将精力聚集到软件的实现上,然后使...
iTech 阅读(3101) |
摘要: 一 CruiseControl.net CruiseControl.NET 是.NET平台上的自动化持续集成Server。它是Java版本的CruiseControl的CSharp版本。1)运行过程如图二 CruiseControl.net资源1)主页 http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET2)下载 http://sourceforge.net/projects/ccnet/ 3)Build CC.NET的CC.NEThttp://ccnetlive.thought
iTech 阅读(1112) |
摘要: 一 Team City1)架构server - agent2)支持 3)主页/teamcity/index.html 二 运行1)安装下载免费专业版,支持3个agents,20个build配置和20个注册用户。2)运行 在安装目录下运行C:\TeamCity\bin\runall.bat start, 会启动server和agent。在IE中输入http://localhost,首次进入需要接收license协议和创建一个user。3)首页上的入门视频:/teamcity/documentation
iTech 阅读(1115) |
摘要: 一VMLogix LabManager1)使用前 2)使用后3)集成Build Forge 和 VMLogix LabManager的好处*控制物理server的蔓延和最大化硬件的利用率;*减少高额的管理开销;4)如何实现 * 在Build Forge创建wrapper project,wrapper project负责调用VMLogix LabManager来启动关闭VM和封装user project。* user project在LabManager启动VM后执行。* user project运行完成后LabManager关闭VM。* 一旦wrapper project和user proj
iTech 阅读(156) |
摘要: 一 Build Forge1) Build ForgeBuild Forge自动化和加速build和release过程,实现迭代开发,高性能build和更合理化的软件发布。Build Forge通过适合的框架,使开发团队标准化和自动化重复的任务,充分地利用硬件资源,连接不同的开发工具来提高工作效率,缩短开发的周期,更快地发布高质量的软件。特别地他通过集中的web接口来支持分布式的开发团队。2) Build Forge特点FeatureBenefitBuild and release process automationAutomate repetitive tasks, enable cons
iTech 阅读(430) |
摘要: 一 Visual Build1)Visual BuildVisual Build能够使开发人员和构建人员容易地创建自动的,可重复使用的构建过程。* 自动化构建和发布桌面软件,游戏,网页应用,企业开发和管理任务,等;* 包含直观的GUI前端能够快速创建,调试和管理工程;* 提供内置的功能支持通用的构建操作和第三方产品;* 提高产品发布的质量,能够更快地查找和修复缺陷;* Visual Build帮你...
iTech 阅读(1573) |
摘要: 一ElectricCommander1)ElectricCommanderElectricCommander® 自动化和加速了软件的build-test-deploy过程,它将易错的,手动的操作转化为敏捷的,可信赖的命令和软件开发控制系统,去除了大量的软件开发的瓶颈。2) ElectricCommander架构 +3)ElectricCommander的益处通过ElectricCommander,开发人员(developers),发布人员(release engineers),构建经理(build managers),测试团队(QA teams)和IT经理(IT managers)可
iTech 阅读(1093) |
摘要: 一 CruiseControl安装1) 安装JAVA SDK,设置JAVA_HOME环境变量,且将%JAVA_HOME%\bin加入path环境变量。2) 下载CruiseControl,例如2.8.3版本为cruisecontrol-bin-2.8.3.zip,解压到C:\CruiseControl。3) CruiseControl的binary安装中已经包含了ant builder / jet...
iTech 阅读(1981) |
摘要: 转自:http://www.blogjava.net/lihao336/archive//324822.htmlCruiseControl配置说明CruiseControl是一个持续集成工具,持续集成是一个很好的敏捷实践。在项目中搭建CruiseControl环境,通过执行频繁的项目构建,及时暴露出隐藏的Bug,从而减少定位以及修改Bug的时间和代价。本文介绍了配置Cruise...
iTech 阅读(2398) |
摘要: 一 配置文件config.xml[代码]二 config.xml的元素&CruiseControl/&和子元素1)&CruiseControl/&&CruiseControl/&是配置文件的根节点,可以看做其他的元素容器。它可以包含子元素:&system&,&project&,&plugin&,&property&...
iTech 阅读(1953) |
摘要: 一 Widget1)WidgetCruiseControl Widget 是用来在build详细页面显示任意build结果的自定义组件。随CruiseControl发布的一个widget是Panopticode,它允许panopticode产生的SVG结果能被显示。2)Widget安装当使用某个widget时,需要编辑widget的配置文件CRUISE_HOME/widgets.cfg。如下:[代...
iTech 阅读(538) |
摘要: 一 CruiseControl Dashborad是什么CruiseControl Dashboard是一个强大的工具帮助你可视化你的projects的状态。先前projects的build结果被彩色标记显示,以至于你能立即地获得你的projects的build结果。builds结果被用来表现当前project的状态的图标来更直接地表现(例如,暂停,队列,building)。当把你的鼠标放到用来表...
iTech 阅读(1204) |
摘要: 一 Build Result JSPBuild Result JSP被设计用来呈现CruiseControl的build loop的结果。页面的左边是关于Cruisecontrol是否正在build你的project,同时也提供先前build的链接。页面的右边是build的结果,包括编译错误,测试结果,从上次build后所修改的文件的列表。Build Result JSP 如下图:二 Build ...
iTech 阅读(699) |
摘要: 持续集成(第二版) 作者:Martin Fowler 译者:雷镇 持续集成 是一种软件开发实践。在持续集成中,团队成员频繁集成他们的工作成果,一般每人每天至少集成一次,也可以多次。每次集成会经过自动构建(包括自动测试)的 检验,以尽快发现集成错误。许多团队发现这种方法可以显著减少集成引起的问题,并可以加快团队合作软件开发的速度。这篇文章简要介绍了持续集成的技巧和它 最新的应用。 最后更改于:200...
iTech 阅读(1333) |
摘要: 一 Build LoopBuild Loop是CruiseControl的核心组件,它用来运行一个守护(后台)进程定期检查你的Source control tool上的修改,根据你的设置和检查的结果来决定是否build,在build后将结果通知所有的listeners。二 Build Loop如何工作CruiseControl定义一个build cycle,包含决定是否一个build是需要的,进行...
iTech 阅读(885) |
摘要: 转自:q.com/cn/articles/thoughtworks-practice-partv1 前言持续集成是极限编程十二实践之一(1999年Kent Beck编写的《解析极限编程》),最初被使用极限编程方法的开发人员所推捧,并在过去的几年中得到广泛应用,成为业界广为人知的软件开发实践。该实践用于解决软件开发过程中一个具体且重要的问题,即“确保当某个开...
iTech 阅读(592) |
摘要: 一CruiseControl安装0)安装Java SDK,然后设置JAVA_HOME环境变量。1)下载解压,例如2.8.3版本:http://sourceforge.net/projects/cruisecontrol/files/CruiseControl/2.8.3/。 2)使用cruisecontrol.bat 或 cruisecontrol.sh 来启动CruiseControl。3)在h...
iTech 阅读(1436) |
摘要: 一 CruiseControlCruiseControl既是一个Continous integration工具,也是一个创建自定义的Continous build process的框架。 cruisecontrol被设置高度可扩展,可以使用plugin对cruisecontrol的功能无限扩展。目前它已经包含非常多的plugins,例如与source control的交互, 各种build tec...
iTech 阅读(724) |
摘要: what is CI:CI基本过程:该系统的各个组成部分是按如下顺序来发挥作用的: 开发者检查新增和修改到源代码仓库后的代码。CI服务器会为每一个项目创建了一个单独的工作区。当预设或请求一次新的构建时,它将把源代码仓库的源码存放到对应的工作区,哪里构建就执行哪里。CI服务器会在新近创建或者更新的工作区内执行构建过程。一旦构建完成,CI服务器就会在一个新的构件中选择性地执行原先定义的一套测试。如果构建失败,相关责任人将会通过电子邮件、即时短信或者其他的方式获取到(失败)通知。如果构建成功,这个构件会被打包并转移到一个部署目标(如应用服务器) 和/或存储为软件仓库中的一个新版本。这个如软件仓库可以
iTech 阅读(511) |

我要回帖

更多关于 fortran编译器 win7 的文章

 

随机推荐