试图让我的生活更轻松,目前我们有4个开发人员在Visual Studio 2012中工作,我们正在使用TFS 2012进行源代码管理。我们所开发的项目是一个多租户Web应用程序(具有多个dbs的单一源代码目录),它是传统,asp和vb6 com组件的混合体,再加上新的C#代码。我们使用TFS进行源代码管理和管理用户故事和错误。由于我们网站的工作方式,只能在本地运行或调试服务器。 Source Control目前为每个开发人员设置了一个单独的分支,将工作目录映射到具有在IIS中指向它的网站的开发服务器上的共享网络路径。 Dev01-Dev05等。开发人员在其分支中使用他们的开发人员网站测试项目,然后检查对他们自己的分支所做的更改并将其合并到主干中。中继线的工作空间被映射到主开发网站,以便开发人员可以测试其对其他客户的开发域的更改,以根据与特定dbs连接的功能的定制和差异进行测试。自动化建设和发布管理VS2012
很长时间的解释,但基本上每个开发者都有一个分支和一个网站,然后合并到自己的网站树干。
为了部署我们的临时服务器:
- 我通过一个bat文件编译中继的网站服务器
- 运行一个Windows应用程序我建立查询TFS与在 具体工作项关联的变更上一定的状态,并将 这些变更集的所有文件从publish文件夹复制到部署文件夹。
- 运行使用展鹏的Deployment Manager 来创建这些新文件
- 进入我们的网络创建和部署该版本的DM现场包服务器上的另一个批处理文件(一直没能得到命令行工具为此工作,所以我必须手动执行)
- 运行已保存在与每个数据库(10个左右的客户数据库)上的票号相匹配的文件夹中的任何SQL脚本以支持版本
我试过使用TFS自动编译的东西,从来没有真正知道它正确地建立网站。与克鲁斯控制周围也没有什么成功。使用臭鼬工程项目来做这件事非常耗时且不可靠。
我的完美的情况是:
- 门控签入,尝试构建/发布的每一个开发人员合并到主干,拒绝,如果构建失败通知开发人员的时间。
- 结束了一天的收集有一定地位的TFS项目及分期
- 最终*运行自动化回归部署与他们所有的客户DBS的TFS项目相关联的临时网站
- 部署SQL脚本文件UI测试,如果失败
- 更新TFS工作项,以新的状态,以便QA创建新的工作项或电邮给开发者/客户知道他们的项目是准备在我们的升级环境中测试的成功部署哪些项目
我怎样才能到达这里,以便我不花费数小时准备和部署发布到舞台和最终的制作?对于潜在的解决方案非常开放,那些难以改变的东西将会是我们正在使用的源代码控制,无法真正切换到颠覆或其他的东西,所以我们非常坚持使用TFS。
谢谢
我会使用TFS Build。你说过你试过了,什么都行不通? –
似乎无法获得正确的msbuild编译站点的参数。 – PForsythe
这里是我如何构建当前:aspnet_compiler -p {sitefiledir} -v/-f -u {publishlocation} -fixednames -nologo -c -errorstack我从发布位置抓取已编译的文件并部署这些文件。在使用tfs时,我还没有找到如何使用sln或csproj文件执行此操作,并模仿 – PForsythe