标签: nant

自动构建

我目前通过AhnkSVN和Visual Studio 使用subversion进行版本控制.我最近开始使用Tree Surgeon来设置我的项目.它使用NAnt自动创建构建脚本.我希望能够在SVN中定期自动构建项目.我喜欢在每次检查时都进行构建的想法,但夜间构建也会起作用.我会提供更多信息或更多我的想法,但我想我会保持开放,看看SO社区有什么要说的.

svn nant build-automation

8
推荐指数
1
解决办法
2498
查看次数

NAnt最佳实践

我这里有300行长的NAnt文件,这是一个非常混乱.我想知道是否有任何样式指南用于编写NAnt脚本以及这样做的最佳实践.

有小费吗?

.net nant coding-style

8
推荐指数
1
解决办法
810
查看次数

Nant:更改文件权限

我有一个ASP.NET应用程序.基本上交付流程是这样的:

  • Nant构建应用程序并在开发人员的计算机上创建一个zip文件,其中包含没有SVN文件夹和无用文件的应用程序文件.此文件随Nant脚本一起提供.
  • zip和nant文件将复制到客户端的计算机上
  • Nant脚本用zip文件中包含的文件替换当前的网站文件.

我的问题是,当我尝试打开网站时,我有一个未经授权的访问错误.似乎文件需要为用户" IIS_WPG " 设置权限.

我无权更改IIS配置,因此我必须手动更改每个文件的权限.每次我更换文件时,权限都会被删除,我需要再次设置它们.

所以我有两个问题:

  • 我可以用Nant更改文件权限吗?怎么做 ?
  • 有可能避免这个问题吗?(开发人员在他们的计算机上没有此用户)

nant file-permissions

8
推荐指数
2
解决办法
2294
查看次数

学习使用NAnt有哪些好资源?

我从来没有使用过自动构建系统 - 老实说,我从来没有使用它,因为我作为独立开发人员(不是选择)工作,只在我的工作站上进行开发,所以在Visual中使用Build菜单工作室对我来说已经足够好了.

我正在努力学习更多优秀的软件工程实践,持续集成就是其中之一.但是,我知道我需要使用自动构建脚本来设置CI环境,但我从来没有使用过,也不知道从哪里开始.

我听说NAnt是大多数专业开发人员使用的非常好的(尽管MSBuild类似吗?).有哪些好资源可以正确学习如何使用NAnt?

alt.net nant build-automation

8
推荐指数
1
解决办法
1942
查看次数

如何用NAnt修改源代码?

我想在构建解决方案之前使用NAnt修改.h文件中的字符串.

.h文件中有一个宏:#define SERVER_ADDRESS"www.customserver.net",我想在部署软件之前修改字符串,这样每个构建都可以通过在命令行中传递地址来实现自定义地址.

有谁知道如何做到这一点?

谢谢!

.net nant build-automation

8
推荐指数
1
解决办法
1932
查看次数

NAnt或MSBuild,我应该在svn环境中使用哪一个?

我有一个C#项目,我需要自动化构建,我试图在NAnt和MSBuild之间进行选择.

我应该使用哪一个?

哪一个具有更好的功能,包括对svn的支持?

谢谢

msbuild nant

8
推荐指数
2
解决办法
5018
查看次数

如何使用Nant在构建时自动更改连接字符串

当使用Nant发布构建类型时,是否可以自动更改web.config中的连接字符串?如果是这样,怎么样?谢谢

.net nant

8
推荐指数
2
解决办法
3371
查看次数

在MSBuild中获取父目录

在NAnt我有一个非常简单的属性来获取我的项目的根,它看起来像这样:

<property
name="project.root.folder" 
value="${directory::get-parent-directory(directory::get-parent-directory(project.local.folder))}"
/>
Run Code Online (Sandbox Code Playgroud)

这将我带到我的项目的根目录,从中构建我的所有路径.

在MSBuild我可以$(MSBuildProjectDirectory)用来获取我当前的目录,但我想获得父目录的完整路径.NAnt使用directory::get-parent-directory它有魅力,我希望在MSBuild中有类似的功能.

我发现了一个类似的问题(http://stackoverflow.com/questions/514264/msbuild-find-msbuildprojectdirectory-parent-directory),但我认为必须有一些更简单的问题,当然!

山姆:)

.net msbuild nant

8
推荐指数
1
解决办法
5616
查看次数

使用Git和NAnt在TeamCity中设置CI

我们正在远离TFS作为源控制/构建服务.

我们现在正在使用TeamCity,并通过BitBucket在Git上托管我们的源代码.

任何人都可以向我指出一篇不错的文章,博客,现有的Stack问题以及这里的步骤的基本概要,以便启动和运行CI配置?

我在TeamCity中有一个基本的项目设置,让它从Git中获取源代码,但我正在试图弄清楚如何设置NAnt作为构建步骤来编译代码并将其发布到我的IIS网站.

有什么建议?

为了清楚起见,设置:

  1. 构建服务器= TeamCity
  2. 源控制= Git(BitBucket)
  3. Application = ASP.NET MVC 3 Web应用程序
  4. Web服务器= IIS 7

感谢任何指针.

最接近我发现的事情:http://thecodedecanter.wordpress.com/2010/03/25/one-click-website-deployment-using-teamcity-nant-git-and-powershell/

但这涉及Web服务器使用PowerShell从Git中提取代码.我不希望这样.我希望TeamCity提取Git代码并直接发布到我的Web服务器.

git nant build-automation teamcity

8
推荐指数
1
解决办法
4104
查看次数

如何根据属性存在有条件地将参数传递给NAnt exec任务?

我想从我的NAnt脚本中调用某个EXE,并在属性存在时传递属性作为参数,否则不传递任何内容.

以下代码似乎只适用于这种情况,但它不起作用:

<exec program="notepad.exe">
  <arg line="${file}" if="${property::exists('file')}" />
</exec>
Run Code Online (Sandbox Code Playgroud)

它抛出Property 'file' has not been set错误.看起来它会评估忽略条件的属性.我希望它<arg>在条件为的情况下忽略整个元素false.

如果我在这个块上面定义属性,它显然工作正常(即使该属性为空).如果它是一个案例,它可能值得一个解决方法,但我必须以同样的方式传递许多属性.此外,<if>不是<exec>...... 下的有效元素

怎么做到这一点?有任何想法吗?

xml nant

8
推荐指数
1
解决办法
3010
查看次数