Svn 使用cc.net自动发布开发人员工作
我想构建一个开发人员构建项目,然后需要将其发布到服务器,成功发布后,需要根据该开发人员发布构建我的测试项目。基本思想是在任何开发人员在Svn上提交内容时运行此过程 目前我正在使用CC.net和MSBuild。任何人都不知道如何完成这项工作 第一步。SVN上的开发人员提交 第二步。检测Svn上的更改并在生成服务器上进行更新 第三步。使用最近的更改生成项目 第四步。将其发布到服务器Svn 使用cc.net自动发布开发人员工作,svn,msbuild,nunit,cruisecontrol.net,Svn,Msbuild,Nunit,Cruisecontrol.net,我想构建一个开发人员构建项目,然后需要将其发布到服务器,成功发布后,需要根据该开发人员发布构建我的测试项目。基本思想是在任何开发人员在Svn上提交内容时运行此过程 目前我正在使用CC.net和MSBuild。任何人都不知道如何完成这项工作 第一步。SVN上的开发人员提交 第二步。检测Svn上的更改并在生成服务器上进行更新 第三步。使用最近的更改生成项目 第四步。将其发布到服务器 第五步。然后对最近的发布运行测试(我通过使用cc.net、msbuild和nunit成功地完成了此过程)如果您使用的是
第五步。然后对最近的发布运行测试(我通过使用cc.net、msbuild和nunit成功地完成了此过程)如果您使用的是项目标记,还可以在其中包含该项目的发布者。 例如:
<project >
<tasks> ...
</tasks>
<publishers>
<buildpublisher>
<sourceDir>path with built binaries</sourceDir>
<publishDir>path that will be shared</publishDir>
</buildpublisher>
</publishers>
</project>
...
带内置二进制文件的路径
将共享的路径
无论构建成功还是失败,都将执行CC.Net中的publisher部分。您需要将“发布到生成服务器”作为任务添加到“任务”部分下-将其放在上一个生成步骤之后
这将导致CC.Net仅在所有以前的“任务”完成时“发布到生成服务器”,而不会引发错误代码
通常,如果您知道在DOS.bat文件中“发布到构建服务器”需要什么,请执行以下操作:
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>c:\Somewhere</workingDirectory>
<projectFile>Something.sln</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:m</buildArgs>
<targets>Build</targets>
<timeout>720</timeout>
<logger>C:\program files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
<exec>
<executable>C:\program files (x86)\CruiseControl.NET\server\PublishToServer.bat</executable>
<baseDirectory>C:\somewhere</baseDirectory>
<buildArgs></buildArgs>
<buildTimeoutSeconds>9000</buildTimeoutSeconds>
</exec>
</tasks>
C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe
某处
某物
/noconsolelogger/p:Configuration=Debug/v:m
建造
720
C:\ProgramFiles(x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll
C:\ProgramFiles(x86)\CruiseControl.NET\server\PublishToServer.bat
某处
9000
> SLAWEKG指出,您可以使用BudidPuisher,它将执行<强> > 。如果构建成功,但是我仍然发现使用批处理文件比使用BudidPuisher的可用性更能配置复制。
您也可以考虑将“推”写入MS构建脚本中。这将为您提供Sam所说的灵活性和控制,并确保仅在生成成功时才进行发布。
我尝试过使用此方法,但它不是发布,而是将源目录中的所有文件复制到目标目录。我想要的是在服务器上发布webite。知道怎么做吗?知道怎么写一个Dos.bat文件来发布吗。你能把密码寄给我吗