【问题标题】:Automate Build script from Batch to MSBUILD/NANT将构建脚本从 Batch 自动化到 MSBUILD/NANT
【发布时间】:2014-11-25 11:54:18
【问题描述】:

我正在尝试自动化 C# (vs2008) 解决方案的构建过程。

构建脚本是用我想要更改的批处理脚本编写的。我们使用 Clearcase 作为 CM 系统。我搜索了一些工具,例如 MSBUILD、NANT。

有什么更好的解决方案,例如 MSBUILD 和 NANT 中的示例脚本?

我没有看到任何网站记录了 MSBUILD 和 NANT,也没有看到任何关于每个任务描述的好的教程。

我可以在哪里学习 MSBUILD 或 NANT 并从头开始编写脚本?

【问题讨论】:

    标签: batch-file msbuild nant msbuild-task


    【解决方案1】:

    我更喜欢第三种方式。您也可以使用 devenv.com。它比 NANT 更快,不需要 NANT 箱,并且可以在任何安装了 VS 的机器上工作。您还可以避免使用 MSBUILD (http://support.microsoft.com/kb/964125) 时可能出现的错误。

    只需使用%path_to_devenv.com%\devenv.com "%path_to_sln" /<buildoption> BuildConfig

    就我而言

    %ProgramFiles(x86)%\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com "C:\Projects\XYZ\xyz.sln" /rebuild Debug

    这样可以保证您的项目的构建方式与在 Visual Studio 中构建的方式完全相同。

    编辑:

    现在我们知道有多少工作要做,我将尝试概述如何设置整个系统以实现自动构建控制。

    1. 设置您的存储库(我希望这已经完成 - 如果没有,请告诉我)
    2. 安装和设置Jenkins(https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins)包括用户、ClearCase-Credentials、ClearCase插件、MSBuild等(都可以在Jenkins插件界面中找到)——这是最大的安心工作
    3. 在jenkins界面创建并设置新项目(名称、工作目录等)
    4. 告诉 jenkins 使用源代码管理(例如 subversion 模块),进入 ClearCase repos 使用,设置所需的源代码管理行为
    5. 设置构建触发器(我建议每分钟检查一次源代码管理:* * * * *)
    6. 添加构建步骤并选择“使用 MSBuild 构建 Visual Studio 项目或解决方案” - 此选项应在安装 MSBuild 插件后出现 (https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin)
    7. 设置 .sln 文件的路径(您已从存储库中签出)
    8. 如果需要,添加更多可选参数(例如 /p:Configuration=Release 或 Debug 或任何 http://msdn.microsoft.com/en-us/library/vstudio/ms164311%28v=vs.110%29.aspx
    9. 玩转直到它起作用

    顺便说一句,我建议将所有外部 dll 放入您的存储库中。

    【讨论】:

    • 谢谢,但您建议我编译解决方案文件。但我要求自动化脚本并升级它,以便我可以将它连接到像 hudson 这样的 CI 工具。
    • 好吧,在这种情况下,您应该坚持使用 MSBUILD。无需使用 NANT,MSBUILD 作为构建步骤完美集成到 Jenkins (Hudson) 中。
    • 真的是.com文件扩展名吗?
    • 谢谢迈克尔。我得到了 50% 的答案。现在请让我知道本教程,因为我正在 MSBUILD 和示例脚本中开始使用,以获得一个想法。
    • @jdlugosz 是的,它是一个 .com 文件。
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    • 1970-01-01
    相关资源
    最近更新 更多