部署进程的MSBuild文件

部署进程的MSBuild文件,msbuild,build-process,build,deployment,Msbuild,Build Process,Build,Deployment,我可以使用一些指针、代码示例或引用来帮助我在msbuild文件中执行以下操作,以帮助加快部署过程 此场景涉及将开发人员的“本地”版本安装到“开发”服务器上 增加开发人员本地Web应用程序程序集版本号 在某处发布本地Web应用程序文件 .rar将已发布的文件或文件夹转换为v[IncrementedAssemblyNumber].rar格式 将.rar复制到某个地方 以Pre_v[IncrementedAssemblyNumber].rar格式备份(.rar)现有的live网站文件夹(位于其他位置)

我可以使用一些指针、代码示例或引用来帮助我在msbuild文件中执行以下操作,以帮助加快部署过程

此场景涉及将开发人员的“本地”版本安装到“开发”服务器上

  • 增加开发人员本地Web应用程序程序集版本号
  • 在某处发布本地Web应用程序文件
  • .rar将已发布的文件或文件夹转换为v[IncrementedAssemblyNumber].rar格式
  • 将.rar复制到某个地方
  • 以Pre_v[IncrementedAssemblyNumber].rar格式备份(.rar)现有的live网站文件夹(位于其他位置)
  • 将备份的.rar移动到/Backup文件夹
  • 使用已发布的本地web文件覆盖开发web文件
  • 对于所有的MSBUILD大师来说应该很简单

    如我所说,如果您能提供答案或“良好且适用”的链接,我们将不胜感激

    我还想买一本MSbuild的书。据我所知,有2个,可能3个竞争者。我没有使用TFS。有人能推荐一本书来开始MSBUILD吗?理想情况下,来自于阅读过一本以上相关书籍的人

    干杯

    --Lee

    --编辑:假设您使用的是.NET

    使用NAnt,并使用调用MSBuild的NAnt Contrib。这将为您提供一个基本系统:)

    --编辑


    当然,您还应该为自己准备一台CI服务器,如CruiseControl.NET,并将其连接到源代码管理系统,如SVN,然后在此基础上进行构建。

    我认为对于构建部分,您当然应该使用。对于部署方面,您可能需要查看。它支持备份网站(通过.zip文件)和更新。我要做的是创建一个MSBuild文件,该文件将调用MSDeploy。也将是一个很好的驱动程序调用MSDeploy。您可以单独使用MSBuild执行相同的任务,但这将更加困难

    你的帖子让我感到奇怪的是你提到了“一个开发者本地网站…”。如果可能的话,您应该有一个构建服务器,负责创建所有要应用于非开发环境的产品。正如有人提到的,一个好的免费CI服务器是


    关于书,你可以看看我的。如果您不使用TFS(以及团队构建),那么这没关系。MSBuild上的章节(12个章节中的9个)独立于TFS。

    代码不应从开发人员的盒子转到部署服务器。它应该通过CI(如CruiseControl.Net)从源代码控制转到部署环境

  • 安装CruiseControl.Net(CC.Net)
  • 连接CC.Net以将源代码管理文件向下拉至CC.Net计算机。请使用CC.NET任务来执行此操作。存在SVN任务、TFS任务等
  • 编写msbuild定义文件(.proj)以执行大部分生成逻辑。我把我的文件放在我的.sln文件旁边…在源代码管理中
  • .proj文件将生成您的.sln
  • 将.proj文件中的任务添加到zip(rar)构建工件(构建的输出)、发布,以及您想做的任何事情
  • 您可以设置一些CC.NET“发布”任务。大多数情况下,最主要的一种方式是向一群人发送电子邮件,告知构建成功/失败
  • 如果您将大部分构建逻辑放在.proj文件中,如果您曾经从CC.NET交换到另一个CI工具,那么这样做的工作量是最小的。使用上述方法,您只需交换源代码管理文件的提取和少量发布事件(CC.NET专有任务)。.proj文件将传输到其他CI工具。我们从CC.NET转到TFS,因为我有这样的先见之明,所以变化很小。如果我使用CC.NET特定的任务而不是.proj,那么转换将是痛苦的

    有很多额外的功能。大多数msbuild需求都是由某个人编写的

    而且,如果推到了紧要关头,您始终可以创建自定义msbuild任务。但现在这种情况很少见


    这是基本的大纲

    有点失望,没有人尝试过这个,或者至少给过我一些建议。干杯,丝般柔滑。我们有CCNET。我将研究你的建议LeeFWIW,我也在开发一个自动部署系统(目前免费下载)。请随意尝试一下(或者等几周,直到我正式公布为止)。我们确实在使用CCNET。你的书在我的亚马逊生日愿望清单上。那很伤心吗?--利塞耶德的回答很好。我只是在讨论中添加了一些值得思考的东西。是的,当时是有原因的。但现在我们使用TeamCity和Octopus部署,所以yey