Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改

2023-12-30

我正在使用 Cruise Control .Net 1.4 进行持续集成,并将其安装在我的 Windows 2000 桌面上。我有 Nant 0.85 用于构建。我的源代码控制位于 Borland Starteam 2005 中。我安装了 .Net 2003 框架,用于创建 VB.Net Windows 应用程序。我已经安装了 CCNet,并且我认为我的 CCnet.config 文件配置正确。

我面临的问题是,每当我更改任何代码并签入 Starteam 时,CCNet 服务器都不会检测到这些修改,因此我无法根据修改触发我的构建。我必须依靠forcebuild来做到这一点。但是每1分钟使用一次forcebuild对于我的项目来说是不可接受的。我希望触发器基于修改。 IE。一旦在 Starteam 上检测到更改,构建就会自动进行。

我的 CCNet.config 文件是这样的:

<workingDirectory>C:\Documents and Settings\uj0011637\Desktop\StarteamCruiseControl\CCNet17Nov08</workingDirectory>
<webURL>http://172.24.120.37/ccnet</webURL>

<triggers>
    <intervalTrigger name="continuous" seconds="120" buildCondition="ForceBuild" initialSeconds="120"/>         
    </triggers>


<sourcecontrol type="starteam">
   <executable>C:\Program Files\Borland\StarTeam Cross-Platform Client 2005 R2\stcmd.exe</executable>
   <project>DEL_CA_ROBOTS\Tools\CCNet17Nov08</project>
   <username>600513221</username>
   <password>car0b0ts</password>
   <host>oscar.nat.bt.com</host>
   <port>51234</port>
   <autoGetSource>true</autoGetSource>
   <timeout units="minutes">10</timeout>
</sourcecontrol>


<tasks>
      <!-- Configure NAnt to compile the updated files -->c:\
    <nant>
    <executable>C:\Documents and Settings\uj0011637\Desktop\Cruise Control\nant\nant-0.85\bin\NAnt.exe</executable>
    <baseDirectory>C:\Documents and Settings\uj0011637\Desktop\StarteamCruiseControl\CCNet17Nov08</baseDirectory>
    <nologo>false</nologo>
    <buildFile>CCNet17Nov08.build</buildFile>
    <logger>NAnt.Core.XmlLogger</logger>
    <buildTimeoutSeconds>1200</buildTimeoutSeconds>
    </nant>
</tasks>


<!--Publishers will be done after the build has completed-->
 <publishers>
  <xmllogger>
    <logDir>C:\Documents and Settings\uj0011637\Desktop\StarteamCruiseControl\Log</logDir>
  </xmllogger>
 </publishers>

 <modificationDelaySeconds>10</modificationDelaySeconds>

我的构建文件是这样的:

<target name="clean" description="Delete all previously compiled binaries.">
    <delete>
        <fileset>
            <include name="**/bin/${project::get-name()}.dll" />
            <include name="**/obj/**" />
            <include name="**/*.user" />
        </fileset>
    </delete>
</target>
<target name="rebuild" dependsontarget="clean, build ">
<zip zipfile="${project::get-name()}.zip"  verbose="true">
    <fileset>
    <include name="**/bin/*.dll" />
    <include name="**/bin/*.exe" />
    </fileset>
    <fileset>
    <include name="*.aspx" />
    <include name="*.css" />
    <include name="*.config" />
    <include name="*.js" />
    <include name="*.asax" />
    <include name="**.txt" />
    <include name="**.vb" />
    <include name="**.vbproj" />
    <include name="**.user" />
    <include name="**.sln" />
    <include name="**.suo" />
    <include name="**.resx" />

    </fileset>
    <fileset prefix="SQL">
    <include name="*.sql" />
    </fileset>
</zip>



</target>

<target name="unit_test" description="Run unit tests.">

     <exec program="${nunit.dir}\nunit-console.exe" commandline="bin/${prjname}.exe /xml=${prjname}.xml /nologo" />

   </target>

    <target name="build.Console">

    <solution configuration="release" solutionfile="CCNet17Nov08.sln">

    </solution>

    <property name="expected.output" value="bin/${prjname}.exe"/>
    <fail unless="${file::exists(expected.output)}">Output file doesn't exist in ${expected.output}</fail>

</target>

有人可以指导我吗?


我在理解在运行 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 文件中。

希望这可以帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改 的相关文章

  • CruiseControl.NET 电子邮件发布者问题

    我想将 ccnet 设置为 每次构建后向提交者发送邮件 无论状态如何 当构建中断或修复时 向所有其他开发人员发送邮件 随着 CCNet 的每个新版本 电子邮件发布者都会被重构 并且据说有所改进 但我仍然遇到同样的问题 只有提交者会收到通知
  • 如何用QTP实现巡航控制?

    我想将 QTP 与 Cruise Control 集成 到目前为止我已经完成了 但我陷入了报告部分 我想以某种方式向 Cruise Control 报告结果 我该如何实现这一点 请帮忙 我记得有一个关于如何将 CCNET 与各种构建和测试集
  • MSDeploy 所有配置 [.config 文件] 在一个包中

    目前我们有 4 个不同的环境 Lab Test Stage LIVE 并且我们已经使用 Nant CC Net 实现了自动部署 我正在调查和研究使用新的 MSDeploy 工具可以更有效地完成哪些工作 我想要实现的是创建一个带有配置文件夹的
  • 免费的 Team Explorer 客户端是否可以在没有 Visual Studio 的情况下工作

    我们即将使用 NAnt 和 TFS 设置 Cruise Control net 我是否需要安装了 Team Explorer 的 Visual Studio 2005 2008 或者我可以仅使用免费的团队资源管理器客户端 Team Expl
  • 从 tfs 变更集中获取文件列表

    我需要仅从 chageset 获取已更改文件的列表 并排除所有其他垃圾 我可以从命令 tf Changeset i changesetnumber 获取此信息 但除了文件列表之外 我还有很多其他信息 我不需要这些信息来实现我的目的 或者也许
  • Windows Azure 中的持续集成服务器

    我想在我的项目中使用持续集成系统 但是 我不想使用办公室中的服务器 而是希望我的持续集成服务器在 Windows Azure 上运行 有人设置过这个吗 是否有在 Azure 中托管 Hudson 或 CruiseControl Net 或任
  • 集市 + CruiseControl.Net

    我想在我的公司设置 CruiseControl Net 目前 我们在 Bazaar 存储库中存储了多个 net 解决方案 我想使用 MSBuild 来构建每个解决方案 这似乎没有太大争议 但我看不到将 CruiseControl Net 绑
  • Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改

    我正在使用 Cruise Control Net 1 4 进行持续集成 并将其安装在我的 Windows 2000 桌面上 我有 Nant 0 85 用于构建 我的源代码控制位于 Borland Starteam 2005 中 我安装了 N
  • 您使用哪种持续集成工具? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • SVN签出忽略文件夹

    我可以忽略 svn checkout 上的文件夹吗 我需要在构建服务器上结帐时忽略 DOCs 文件夹 edit 忽略外部因素不是一个选项 我有一些我需要的外部设备 您不能在签出时直接忽略文件夹 但可以在 svn 1 5 中使用稀疏签出 例如
  • 将 PartCover.NET 与 NAnt 集成

    我正在尝试将 PartCover NET 与 NAnt 和 CruiseControl NET 集成 我可以毫无问题地运行 PartCover NET 浏览器 但一旦我尝试在 NAnt 任务 在我的 CCNET 版本中 中运行它 它就无法工
  • 通过 Cruise Control 发布 MVC v1 C# 应用程序

    我正在尝试通过巡航控制在我的构建服务器上发布 3 5 MVC 网站 在网上查了一下 看来您需要包装 ASP Net 编译器 我希望这个任务可以通过 MSBuild 调用 关于如何做到这一点有什么想法吗 使用 MSBUILD 文件可以非常简单
  • 从 CruiseControl.NET 执行命令行命令

    我有这段代码CruiseControl NET http en wikipedia org wiki CruiseControl配置
  • 运行 StarTeam 2008 Release 2 客户端时出现“无法创建 Java 虚拟机”错误

    为什么 StarTeam 2008 Release 2 Client 没有在我的计算机上正确安装 每当我尝试启动它时 都会收到 无法创建 Java 虚拟机 错误 正如我之前所想 这不是定位 Java 虚拟机的问题 而是内存分配问题 在 St
  • 使用 MSBuild 时不会构建私有访问器

    我的构建服务器使用 MSBuild 来构建我的应用程序 我们的单元测试需要访问一些私有成员进行测试 因此我们使用内置的私有访问器 Visual Studio 没有问题 但是当我们将代码推送到构建服务器时 我们收到错误 MyTest cs 9
  • 如何使用 CruiseControl.NET 和 MSBuild 部署/发布 Web 应用程序?

    如何使用 CruiseControl NET 和 MSBuild 部署 发布 Web 应用程序 我是 CCNET 新手 我能够从 SVN 获取最新源代码并使用 MSBuild 3 5 进行构建 如何将网站发布到另一台 开发 服务器 感谢您的
  • 如何使用 CruiseControl.Net 构建忽略可执行文件的输出?

    我正在运行一个名为 fart exe 的小型查找和替换实用程序 是的 是放屁 如 查找和替换文本 中所示 作为我的 CC 构建的一部分 效果很好 问题是 FART 在工作时会显示一个由管道 破折号 斜线组成的小 ASCII 旋转器 没有办法
  • 在 CruiseControl.NET 构建中使用“devenv”和“msbuild”有什么区别?

    CruiseControl NET 中使用 标记和 标记的主要区别是什么 我知道它们调用不同的可执行文件 但有时我会得到不同的结果 就编译时的通过 失败而言 我想知道为什么两个构建命令之间存在差异 基本上 devenv Visual Stu
  • 使用 ccnet 制作自定义报告

    所以我有我使用合并任务放入 ccnet 的输出 现在我需要做的是提出我自己的自定义 xsl 并输出数据 关于如何执行此操作的教程有什么想法吗 例如我需要使用什么插件 我可以创建自己的吗 动作名称有什么作用
  • 如何解决 CruiseControl.NET 中 任务中的“只能指定一个项目”错误

    我正在尝试以相当直接的方式使用 CruiseControl NET 版本 1 3 0 2918 中的任务

随机推荐

  • Flask + Flask-Security + Babel 不工作

    我已经设置了 Flask Babel Flask Security 像这样创建所有翻译 root main py translations ru LC MESSAGES 消息 mo 消息 po 在 main py 中 有一部分设置语言执行
  • Struts2:全局结果配置错误

    我想使用全局结果 登录 但它仅在配置中没有全局结果的情况下才有效 这是我的配置的相关部分 类别列表 jsp 类别详细信息 jsp WEB INF login jsp 当我启动我的应用程序时 它会抛出此异常 org xml sax SAXPa
  • 如何将文本文件包含到JavaScript中

    有没有办法将另一个文件中的一些文本加载到 javascript 中 而不需要服务器端代码 我正在考虑使用另一个元素来保存一些注释中的文本 但我不知道如何使用 javascript 读取它的源代码 就像是 在 myfile js 中 some
  • 重载 << 运算符 C++ - 指向类的指针

    class logger logger operator lt lt logger log const std string str cout lt lt My Log lt lt str lt lt endl return log log
  • iOS 中的 Amazon S3 POST 上传

    我有一个服务器 它生成 AWSAccessKeyID acl 策略 签名等参数 用于使用 POST 将文件上传到 S3 如下所示 http doc s3 amazonaws com proposals post html http doc
  • 如何在 .NET 4.0 的实体框架中进行“like”通配符比较?

    我正在使用 Visual Studio 2010 RC for NET 4 0 我试图弄清楚如何与实体框架进行通配符比较 我想要对 EF 进行以下查询 在其中找到所有以 J 开头的名称 select from Users where Fir
  • Cloud Dataflow - 增加 JVM Xmx 值

    我们正在尝试在云中运行 Google Cloud Dataflow 作业 但我们不断收到 java lang OutOfMemoryError Java 堆空间 我们正在尝试处理 Big Query 表中的 6 1 亿条记录 并将处理后的记
  • Mapbox fitbounds() - 无效的 LngLat 对象:(NaN, NaN)

    在过去的几个小时里 我一直用头撞桌子 我试图让 Mapbox 放大所有标记的边界区域的负载 但是 这是我在下面的代码中遇到的错误 此错误出现在下面的控制台日志图像之后 因此 lat lng 坐标肯定存在 未捕获的错误 无效的 LngLat
  • 如果仓库自动查看自述文件,自述文件中的相对链接就会损坏

    我有一个仓库作为 github 上组织的一部分 例如 MYORGANIZATION MyRepository 该存储库包含一个 README md 文件 在此 README md 文件中 我有一个链接 因此另一个 md 文件位于与 READ
  • Xampp-mysql - “引擎中不存在表”#1932

    移动 xampp 文件夹后出现 Xampp 错误 Apache 运行良好 如下图所示 我成功运行 apache 但无法运行 mysql 如果我移动并运行 xampp apache 和 mysql 但它显示的错误是新鲜的 并且显示类似 引擎中
  • 将 exec-maven-plugin 的输出分配给变量

    我想使用 exec maven plugin 来获取 git revision 所以我使用以下配置
  • 用于执行 python 脚本的 Vim 键映射

    我第一次尝试在 Vim 中映射命令 我希望它执行当前的 python 脚本 所以我将以下内容放入我的 vimrc noremap
  • 添加 $ 并舍入小数点后 2 位 SQL

    我正在寻找格式化由子查询创建的输出 该子查询生成一个计算字段 我希望将其格式化为 XX XX 子查询 select avg retail from cars where brand FORD or brand TOYOTA as AVG B
  • 使用 ICC 配置文件将 RGB 转换为 CMYK

    我即将将 RGB 颜色转换为 CMYK 以便打印 此转换的规模是 Adob e Photoshop Image gt Mode gt CMYK color 我尝试了 2 个解决方案 但没有一个返回正确的值 解决方案 1 使用 NET Fra
  • webpack --watch 不编译更改的文件

    我尝试跑步webpack watch编辑我的 JS 文件后 它不会触发自动重新编译 我尝试过重新安装webpack using npm uninstall但它仍然不起作用 有任何想法吗 如果您的代码没有被重新编译 请尝试增加观察者的数量 在
  • 何时使用后值[重复]

    这个问题在这里已经有答案了 在下面的一段代码中 viewModelScope launch isLoading postValue true 我们在主线程中 因为viewModelScope launch默认在主线程上运行 与viewMod
  • 使用自定义消息捕获和处理 Jackson 异常

    我希望能够捕获我正在开发的 spring boot API 中发生的一些 Jackson 异常 例如 我有以下请求类 我想捕获当 JSON 请求对象中的 questionnaireResponse 键为 null 或空白时发生的错误 即 在
  • 局部变量与实例变量

    我对使用 XNA 构建的游戏的 C 优化进行了大量研究 但我仍然不太明白局部变量是否是实例变量 在不断更新和使用时会提供更好的性能 根据http www dotnetperls com optimization http www dotne
  • T-SQL 存储过程 - 动态 AND/OR 运算符

    我只是想知道 MS SQL Server 2005 中是否有一种方法可以将运算符作为存储过程参数传递 如果可能的话 我确实需要避免使用动态 SQL AppOperator AND WHERE 1 1 AppOperator 2 2 这并不是
  • Cruise Control .Net 服务器无法检测在 Starteam 上完成的修改

    我正在使用 Cruise Control Net 1 4 进行持续集成 并将其安装在我的 Windows 2000 桌面上 我有 Nant 0 85 用于构建 我的源代码控制位于 Borland Starteam 2005 中 我安装了 N