gpt4 book ai didi

unit-testing - 持续集成 : PowerShell vs. CI 服务器(CC.NET 或 Hudson)

转载 作者:行者123 更新时间:2023-12-04 01:53:14 25 4
gpt4 key购买 nike

所以,我和一个 friend 一直在讨论持续集成和 bat/powershell 脚本与像 CruiseControl.Net 或 Hudson 这样的 CI 服务器。

以下 powershell 伪脚本可用于从 SVN 更新、使用 msbuild 进行构建、部署/复制、更新应用程序中的构建/修订号以及关于失败构建的电子邮件。下一步是在不成功时添加对 MSTest 的调用和电子邮件结果。

  • svn 更新
  • msbuild > build_deploy_development_out_msbuild
  • ([xml](svn info --xml)).info.entry.commit.revision + [char]13 + [char]10 + (echo %date% %time%) > build_revision_number.html
  • $linenumber = Select-String build_deploy_development_out_msbuild -pattern "构建失败"|选择对象行号
  • $smtp = 新对象 System.Net.Mail.SMTPClient -ArgumentList localhost | if($linenumber > 0) $smtp.Send("From:Email","To:Email", "build failed", "build failed...有人必须死!")

  • 这让我想到了 CI 服务器的值(value)问题,当您可以使用项目的特定工具(构建工具、源代码控制、单元测试)(即 msbuild、nant)编写自己的 shell 脚本来完成相同的目标时、svn、git、nunit、mstest 等)

    我还没有经历过维护成本。我想就您自己的 shell 脚本与 CruiseControl.Net 或 Hudson 的关系征求其他人的意见。请注意,我没有使用 CI 服务器的经验,因此这个问题,所以请不要认为这是对 CI 服务器的批评;我只是不知道最好的答案,我想我会问社区。

    最好的祝愿!
    皮特·戈登

    最佳答案

    CI 服务器为您提供了几个优势:

  • Web 访问,通常具有与现有身份验证机制集成的能力(请参阅 Hudson 的 ActiveDirectory/LDAP 支持)
  • 对单元测试、zip 存档创建等的大量现有支持
  • Hudson(和其他人)支持从属构建节点,用于执行分布式 CI 任务。
  • 无需自己维护。

  • 其中一些可能不是您需要的东西 现在 但你确定它们不是你将来可能需要的东西吗?

    关于unit-testing - 持续集成 : PowerShell vs. CI 服务器(CC.NET 或 Hudson),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1561923/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com