人永远追求效率(想偷懒),不想手动编译项目、发布站点于是产生了自动构建技术,.NET领域中CCNET是个不错的选择。
一路问题不少,记录一下。

  1. 准备环境
    1. 服务器上需要有iis、vs(与开发环境的版本一致)。
    2. 安装svn,如果是TortoiseSVN,安装时记得选择安装命令行。
    3. 安装CCNET,下载地址:http://build.nauck-it.de/download/CruiseControl.NET-package/1.8.5.0/
    4. 可能出现的问题:
      1. 没有自动在iis上创建站点。我安装时也出现这个问题,原因是文件访问权限不够,没有仔细看是要哪个用户,直接把C:\Program Files (x86)\CruiseControl.NET这个目录给了everyone读写权限,问题解决。然后手动创建站点,站点物理路径:C:\Program Files (x86)\CruiseControl.NET\webdashboard。
      2. 站点未正常运行。访问刚刚创建的站点有可能出现这样的错误:由于目标计算机积极拒绝,无法连接,127.0.0.1:21234。如果按上面的步骤给了足够的权限仍出现这样的问题,那只能是因为没有启动CruiseControl.NET,运行起来吧!CCNET自动构建之路
  2. 配置
    1. 配置文件在C:\Program Files (x86)\CruiseControl.NET\server\ccnet.config
    2. 配置说明:
       1 <cruisecontrol xmlns:cb="urn:ccnet.config.builder">
       2   <!--定义项目-->
       3   <project name="MentenApi">
       4     <artifactDirectory>D:\xx\xx</artifactDirectory><!--对应的日志会写到这里-->
       5     <!--配置代码源,这里用的是svn-->
       6     <sourcecontrol type="svn">
       7       <executable>C:\Program Files\TortoiseSVN\bin\svn.exe</executable><!--svn的位置,安装TortoiseSVN时记得选择安装命令行-->      
       8       <username>test</username><!--svn用户名-->
       9       <password>123456</password><!--svn密码-->
      10       <autoGetSource>true</autoGetSource>
      11       <trunkUrl>https://x.x.x.x/xx</trunkUrl><!--源代码位置-->
      12       <workingDirectory>D:\xx\xx</workingDirectory><!--获取代码的存放位置-->
      13     </sourcecontrol>
      14     <!--触发器-->
      15     <triggers>
      16       <intervalTrigger seconds="300" />
      17     </triggers>
      18     <!--要执行的任务-->
      19     <tasks>
      20       <!--编译-->
      21       <msbuild>
      22         <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable><!--MSBuild的位置(视.NET的版而定)-->
      23         <buildArgs>/p:OutputPath=D:\xx\x1</buildArgs><!--给MSBuild指定参数,这里指定的编译后的输出目录-->
      24         <workingDirectory>D:\xx\xx</workingDirectory><!--通过svn获取下来的代码位置,与上面sourcecontrol\workingDirectory的值一致-->
      25         <projectFile>xx.sln</projectFile><!--指定解决方案文件-->
      26         <targets>Build</targets>
      27         <timeout>600</timeout><!--编译超时时间,单位秒-->
      28       </msbuild>
      29     </tasks>
      30   </project>
      31 </cruisecontrol>
      配置

相关文章:

  • 2022-12-23
  • 2021-09-28
  • 2021-07-11
  • 2021-12-09
  • 2021-11-26
  • 2021-07-11
  • 2021-07-25
  • 2022-02-15
猜你喜欢
  • 2022-12-23
  • 2021-09-03
  • 2021-09-08
  • 2022-12-23
  • 2021-12-10
相关资源
相似解决方案