2013-06-04 6 views
0

크루즈 컨트롤을 이해하는 데 문제가 있습니다. 프로젝트에서 빌드를 수행하기 위해 빌드 자동화를 만들고 싶습니다. 그렇게하기 위해 ccnet.config 파일에 다음 항목을 만들었습니다.CRuise Control은 nAnt 또는 MSbuild를 사용합니까?

<project name="My Web Release " description="Web config"> 
    <workingDirectory>d:\GIT</workingDirectory> 

    <triggers/> 

    <sourcecontrol type="git"> 
    <repository>GIT REPO</repository> 
    <branch>release-name</branch> 
    <autoGetSource>true</autoGetSource> 
    <fetchSubmodules>true</fetchSubmodules> 
    <executable>C:\Program Files (x86)\Git\cmd\git.exe</executable> 
    <tagOnSuccess>false</tagOnSuccess> 
    <commitBuildModifications>false</commitBuildModifications> 
    <commitUntrackedFiles>false</commitUntrackedFiles> 
    <tagCommitMessage> Build {0}</tagCommitMessage> 
    <tagNameFormat>Build-{0}</tagNameFormat> 
    <committerName>Build</committerName> 
    <committerEMail>[email protected]</committerEMail> 
    <workingDirectory>$(workingDirectory)\Sources\WEB</workingDirectory> 
    <timeout>600000</timeout> 
    </sourcecontrol> 

    <tasks> 
    <msbuild> 
     <executable>c:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable> 
     <buildFile>BuildScript.xml</buildFile> 
     <targets>NewBuild</targets> 
     <logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger> 
    </msbuild> 
    </tasks> 

    <publishers> 
    <xmllogger /> 
    <artifactcleanup cleanUpMethod="KeepLastXBuilds" cleanUpValue="50" /> 
    </publishers> 

</project> 

그리고 BuildScript.xml 파일이 있습니다. 내 질문 : 이것은 nAnt 또는 MSBUILD 스크립트입니까?

설명서를 따르려고하기 때문에 물어 보지만 알 수없는 작업과 관련하여 많은 문제가 있습니다. 예를 들어

이 :

<property name="configuration" value="CLOSED" /> 

알 수없는 "속성"작업을 생성합니다.

MSBuild 설명서에서 Move task을 사용하고 있습니다.

와 나는이 라인에 도착 :

<move file="originPath" tofile="TargetPath"/> 

하지만 내가 얻을 :

BuildScript.xml (18,3) : 오류 MSB4036 값 : "이동"작업을 찾을 수 없습니다 했다. 다음을 수행하십시오. 1. 프로젝트 파일의 태스크 이름이 태스크 클래스의 이름과 동일해야합니다. 2.) 작업 클래스는 "public"이며 Microsoft.Build.Framework.ITask 인터페이스를 구현합니다. 3. 작업이 프로젝트 파일 또는 "C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727"디렉토리에있는 * .tasks 파일에서 올바르게 선언됩니다.

크루즈 컨트롤로 마이그레이션하기 전에 효과가 있다는 것이 미치겠습니다.

nAnt 또는 MSBuild로 해석됩니까? 왜 이러한 오류가 발생하는지에 대한 아이디어가 있습니까? 이 MSBuild에 있다면

+1

을 사용하는 경우 CC는 MSBuild를 사용합니다. BuildScript.xml에서 무엇을 가지고 있습니까? VS를 사용하는 경우 BuildScript.xml 대신 sln을 빌드 할 수없는 이유는 무엇입니까? –

답변

2

그것은 당신의 혼합 NANT 및 msbuild를 보이는, 그것은

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Tools="4.0"> 
<Target Name="Move"> 
<PropertyGroup> 
    <configuration>CLOSED</configuration> 
</PropertyGroup> 

<Move SourceFiles="Somefilefile" DestinationFolder="c:\temp"/> 
</Target> 
</Project> 

그래서 케이스가 문제처럼 보일 것이다 당신은 이동 4.0에서 사용할 수있게되면 도구 버전을 지정할 필요가있다.

+0

네, 맞습니다, 고마워요! – JSBach