【问题标题】:Using NUnit and Nuget with Bamboo Cloud在 Bamboo Cloud 中使用 NUnit 和 Nuget
【发布时间】:2016-05-17 12:51:23
【问题描述】:

我正在尝试在 Bamboo Cloud(不是 Bamboo Server)上为 .Net 项目创建计划:

  1. 从 Bitbucket 结帐
  2. Nuget 获取所有包
  3. MSBuild 编译解决方案
  4. NUnit 运行单元测试

1) 和 3) 很简单,但我不知道如何创建运行 Nuget 和 NUnit 的任务。看来您首先必须在构建代理上安装可执行文件。我找到了有关如何在 Linux 上执行此操作的文档,但不是在 Windows 上。

如何使用 Bamboo Cloud 创建 Nuget 和 NUnit 任务?

【问题讨论】:

    标签: nuget nunit bamboo


    【解决方案1】:

    我通过将我的工作分成 4 个任务来做到这一点:

    1. 源代码签出

    如您所料。无论如何,这是作业中的默认任务。

    1. 下载 NuGet.exe

    一个带有

    的单行Powershell内联脚本
    Invoke-WebRequest -Uri 'http://nuget.org/nuget.exe' -OutFile '.\nuget.exe'
    
    1. 通过 NuGet 下载所有包依赖项

    这种方法现在似乎是“新”推荐的方法,所以它是一个执行的简单 CMD 文件

    nuget.exe restore
    
    1. MSBuild

    使用 .SLN 文件作为任务中 Project File 选项的参数,并在 Options 字段中传递任何所需的其他 msbuild 选项

    我的 Bamboo 服务器在 Linux 上,而我的远程代理在 Windows 构建机器上。

    在您的情况下,您将跟进 5. 任务,例如Nunit 测试 - 尽管您可能决定将其放在一个单独的阶段,并将测试拆分为可以并行运行的作业。

    编辑:差点忘了:我还有一个 Nuget.config 文件

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageRestore>
        <!-- Allow NuGet to download missing packages -->
        <add key="enabled" value="True" />
        <!-- Automatically check for missing packages during build in Visual Studio -->
        <add key="automatic" value="True" />
      </packageRestore>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
        <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
        <add key="Syncfusion" value="http://nuget.syncfusion.com/xamarin/" />
      </packageSources>
      <!-- Used to specify which one of the sources are active -->
      <activePackageSource>
        <!-- this tells only one given source is active -->
        <add key="NuGet official package source" value="https://nuget.org/api/v2/" />
        <!-- this tells that all of them are active -->
        <add key="All" value="(Aggregate source)" />
      </activePackageSource>
    </configuration>
    

    【讨论】:

    • 感谢您展示如何加载 Nuget 包!但是,您没有说明如何运行 NUnit 测试,然后评估测试结果。
    • 因为我承认我还没有完成那部分......尤其是因为我还没有决定我最终会使用什么。我主要做 Xamarin 开发。 :\ 但是,Atlassian 自己的文档会将您发送至:NUnit Runner
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多