没有,我目前的工作部署控制的enourmous量。 虽然有一个长期计划来创建构建脚本与我们刚刚发布我们的解决方案,然后将它们复制到服务器的那一刻部署交易。
这将是非常有用的一个文本文件或soemthing类似,将包含版本号和分行名称作为它的版本目前正在运行的系统上运行的日志。
是否有可能做到这一点无论是使用SVN钩子或Visual Studio一个简单的后生成脚本?
没有,我目前的工作部署控制的enourmous量。 虽然有一个长期计划来创建构建脚本与我们刚刚发布我们的解决方案,然后将它们复制到服务器的那一刻部署交易。
这将是非常有用的一个文本文件或soemthing类似,将包含版本号和分行名称作为它的版本目前正在运行的系统上运行的日志。
是否有可能做到这一点无论是使用SVN钩子或Visual Studio一个简单的后生成脚本?
下面是我做到了一个完整的故障
创建你的网站的根称为Version.txt一个空白的文本文档。
在您的网站的根目录下创建第二个文本文档称为Version.tmpl具有以下内容
Revision: $WCREV$
Repository: $WCURL$
Modified: $WCMODS?Yes:No$
Built On: $WCNOW$
右键点击你的网站项目,并选择属性。 然后去构建事件选项卡。
以下内容粘贴到你的后生成的事件:
cd $(ProjectDir)
"%ProgramFiles%\TortoiseSVN\bin\SubWCRev.exe" ..\. Version.tmpl Version.txt
这将更新有关的工作拷贝一些细节的version.txt文件,使用Version.tmpl作为模板。 该Version.txt现在包含在您的网站,这意味着每一个网站被部署在Version.txt时间也部署并应你需要让你的代码返回部署的版本将包含有用的信息。
svnversion
是检查工作副本的当前版本的工具。
在Windows上你有Subwcrev 。
你也许可以用一个构建脚本来做到这一点。 看的.svn \条目在存储库的根文件。 它应该包含版本号早于该文件(第5行左右)中
您可以使用此代码获取从VB的信息。 我用的这个版本重写,找出在应用程序启动时这一信息。
http://www.codeproject.com/KB/architecture/svn_visual_studio.aspx
我用蚂蚁作为我的构建工具,所以我有一个存储svnversion,如果在文件svnversion,如果输出Ant目标。 实现这一目标是所有的主入口点的依赖,所以我每次运行ant时,SVN版本被更新。 我有包装业务包括所有交付的tar和zip文件svn的版本。 所以我总能看在SVN版本,找出代码版本已经安装了什么。
无论构建工具你使用,你应该能够做同样的。 如果从svnversion,如果该数据是不够的,你可能想的SVN信息输出添加到文件中。
我也使用Ant和已经开发出一种特殊的任务是能够检索从本地存储库Subversion的信息(如果代码被检查出)或远程Subversion服务器(如果代码被出口),并使它们可通过普通蚂蚁属性。
使用Ant替换机制(在副本任务,例如),你可以把这些值,无论你认为合适的。