【问题标题】:Automated test, build and deploy自动化测试、构建和部署
【发布时间】:2011-02-03 07:41:59
【问题描述】:

我有 Visual Studio Team Suite 2008。我无法满足设置 TFS 的要求,所以我在 VSTS 中使用 TortoiseSvn 和 VisualSvn 作为我的版本控制。

我需要系统设置来执行以下操作:

我需要能够创建和跟踪工作项。 当对在 VSTS 中工作的当前项目进行更新时,更新将提交回版本控制。将运行测试以查看更新不会破坏应用程序。如果更新出现问题,将向开发人员报告。如果应用程序没有问题,它是一个 clickonce 应用程序,它会自动构建、混淆并部署到 ftp 服务器。

我从未使用过版本控制、构建服务器、自动化测试和持续集成。我需要知道需要为这种类型的系统设置什么。

我不知道应该使用哪个组合/堆栈:CruiseControl.net、TeamCity、Hudson、NAnt、NUnit、MsTest、Trac、BugTracker.net、Ndepend、VisualSvn Server、Perforce、Msdeploy、MSBuild、SCM。

我想要一些免费/开源且相对容易设置和使用的东西。

请提出适合我需要的设置。

任何帮助表示赞赏

【问题讨论】:

    标签: .net deployment build-process continuous-integration


    【解决方案1】:

    工作项是 VSTS 的一部分,在其他源代码控制系统 Microsft TFS 中没有工作项的任何概念。

    建立完整的持续集成 CI 系统最简单的方法是:

    svn-1.4.6-setup.exe

    将 Subversion 安装到 D:\SVN

    创建源代码控制存储库:

    D:\SVN\bin>svnadmin 创建 D:\SVN\repos

    将您的源代码添加到 SVN:

    D:\SVN\bin>svn import D:\webroot file:///d:/SVN/repos/webroot -m "初始导入"

    这会将 D:\webroot 和所有子目录导入到子目录“webroot”中的存储库中,有关如何将 SVN 设置为服务的更多信息:http://martin-lindhes.blogspot.com/2006/09/how-to-run-subversion-140-in-windows.html

    允许所有访问打开 svn 配置文件:

    D:\svn\repos\conf\svnserve.conf

    取消注释(删除 /#):

    授权访问 = 写入

    您应该让源代码控制服务器运行并允许所有人访问。请注意,您无法通过这种方式跟踪谁在更改代码,对于更复杂的场景 google: subversion role access

    如何分三步获取源代码:

    1. 请从这里安装源代码控制客户端: tortoisesvn.net/downloads

    2. 然后创建一个空目录,您希望在其中签出代码,例如 C:\code\source

    3. 右击C:\code\source目录,选择“SVN Checkout”,提供repository URL:

    svn://yourserver.com:48000/webroot

    并选择所有其他都是默认选项。

    单击确定,您将获得最新的代码。

    下载并安装 CruiseControl:sourceforge.net/projects/ccnet/

    打开 CC 配置文件:

    C:\Program Files\CruiseControl.NET\server\ccnet.config 这是一些示例配置:

     <cruisecontrol>
      <project name="eSeismic CI build and Test System">
      <sourcecontrol type="svn">
        <trunkUrl>svn://yourserver.com:48000/webroot</trunkUrl>
        <workingDirectory>c:\dev\ccnet</workingDirectory>
      </sourcecontrol>
    
        <triggers>
    
          <intervalTrigger seconds="3600" />
    
        </triggers>
    
        <tasks>
          <devenv>
            <solutionfile>C:\Code\source\SomeSolutionNameHere.sln</solutionfile>
            <configuration>Debug</configuration>
            <buildtype>Build</buildtype>
            <executable>C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\devenv.com</executable>
            <buildTimeoutSeconds>60</buildTimeoutSeconds>
          </devenv>
    
    
          <nunit path="C:\nunit\bin\nunit-console.exe">
            <assemblies>
              <assembly>C:\someproject...\bin\Debug\someunittestdll....Test.dll</assembly>
            </assemblies>
          </nunit>
        </tasks>
    
    
        <publishers>
          <statistics />
          <xmllogger />
        </publishers>
    
      </project>
    
    </cruisecontrol>
    

    任何问题阅读帮助:ccnet.sourceforge.net/CCNET/

    我假设你使用 Nunit 进行测试。

    简单。

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 2010-10-12
      • 1970-01-01
      • 2014-09-22
      • 2011-09-14
      • 1970-01-01
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      相关资源
      最近更新 更多