我在理解在运行 IIS 7 的 Vista 系统中使用 StarTeam 作为源控件安装和配置 CruiseControl.Net 的文档时遇到了挑战。最后,我成功地将巡航控制设置为工作。我列出了让它发挥作用的步骤。
第 1 步:从此处获取 CruiseControl.Net 的副本。运行安装程序。作为安装的一部分,安装程序会安装 ccnet 服务器和 webdashboard。
第 2 步:安装后,要启动并运行网络仪表板,请启动浏览器并键入。http://localhost/ccnet http://localhost/ccnet(这是安装时的默认虚拟目录。它指向构建服务器中的 $InstallFolder/webdashboard 文件夹。如果系统运行的是 IIS5 或 6,那么您将看到 CruiseControl.Net 页面,在 IIS7 中,500 错误为要解决此问题,请继续执行步骤 3,如果没有遇到问题,请继续执行步骤 4。
步骤3:以管理员身份运行以下命令。注意:这里的ccnet是虚拟目录,指向webdashboard在系统中的物理位置。
%SystemRoot%\system32\inetsrv\appcmd 迁移配置“默认网站/ccnet”
运行命令后,只需重新启动 iis 并浏览到http://localhost/ccnet http://localhost/ccnet。它应该显示 CruiseControl.Net 仪表板。
第四步:下一步是配置ccnet服务器。打开位于安装目录的“server”文件夹中的 ccnet.config 文件进行编辑。
项目部分:
定义项目部分。项目名称可以是任何标识符,不一定是您的项目名称。 CruiseControl.Net 将使用它来识别您的项目。
源代码控制部分
就我而言,源代码控制是 StarTeam。需要设置各种属性,例如登录凭据、项目等。
可执行文件:Star Team 命令行实用程序“stcmd.exe”的路径。
项目:Star Team 中定义的项目名称,必须提取。
用户名、密码、主机、端口:Star Team Server 连接设置。
路径:从 StarTeam 中提取文件的路径。示例:假设 StarTeam 中的项目根文件夹是“Test”。让项目和解决方案文件位于层次结构“Test\TestProject\MyProject”中。要从此位置提取项目文件和解决方案,请为项目指定“Test”,为路径指定“TestProject\MyProject”。
覆盖文件夹工作目录:为构建检出来自 Star Team 的文件的路径。如果未指定,将使用 StarTeam 中指定的原始工作文件夹来提取文件。
自动获取源:将其指定为“true”将允许 CruiseControl.Net 自动从 StarTeam 检出文件
fileHistoryRegEx:我必须对日期正则表达式进行更改,因为我的区域设置配置为英语(印度),其中日期时间指定为 DD-MM-YYYY HH:MI:SS (IST)。我必须更改此设置,因为在运行期间出现 Format invalid:System.DateTime 异常。
超时:指定 StarTeam 轮询的超时时间。
以下是 starteam 配置块的完整列表。
明星队
StarTeam
MSBuild 部分
我使用 MsBuild 来执行构建任务。以下部分解释了获取 CruiseControl.Net 的 MsBuild 设置所涉及的属性。
可执行文件:系统中“MsBuild.exe”文件的路径。
工作目录:要构建的文件的位置。即 StarTeam 提取需要构建的文件的位置。
项目文件:需要构建的.proj文件或.sln文件。
Build Args:指定传递给 msbuild.exe 的其他参数。
目标:要完成的行动。在这里,我想要在解决方案上完成“清理”,然后“构建”。
Timeout:调用构建失败时显示错误消息的时间。
记录器:将用于生成构建结果的记录器程序集的位置。
以下是 msbuild 配置块的完整列表。
微软构建
MS Build
触发器部分
触发器部分指定必须调用项目构建的时间和条件。在测试的初始设置期间,将 buildCondition 设置为“ForceBuild”(强制构建),测试完成后,将其更改为“IfModificationExists”(仅在检测到修改时才进行构建)。
以下是触发器配置块的完整列表。
触发器
Triggers
步骤 5:运行位于 CruiseControl.Net 安装位置的“服务器”文件夹中的 ccnet.exe 应用程序。代码将从 StarTeam 提取到指定的位置,并且构建应该继续进行。构建的结果存储在 $InstallFolder\ProjectName\Artifacts\ms-build.xml 文件中。
希望这可以帮助。