繁体   English   中英

用于部署过程的MSBuild文件

[英]MSBuild file for deployment process

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

这种情况涉及将开发人员的“本地”版本安装到“开发”服务器上。

  1. 增加开发人员本地Web应用程序程序集版本号
  2. 在某个地方发布开发人员本地Web应用程序文件
  3. .rar已发布文件或文件夹,格式为v [IncrementedAssemblyNumber] .rar
  4. 将.rar复制到某个地方
  5. 以Pre_v [IncrementedAssemblyNumber] .rar格式备份(.rar)现有的在线网站文件夹(位于其他位置)
  6. 将备份的.rar移至/ Backup文件夹。
  7. 用发布的本地Web文件覆盖开发Web文件

对于所有那些MSBUILD Gurus来说应该很简单。

就像我说的,答案或“良好且适用”的链接将不胜感激。

我也想得到一本MSbuild书籍。 据我所知,有2个竞争者。 我没有使用TFS。 谁能推荐一本开始MSBUILD的书? 理想情况下,这些人应该阅读一本以上的书。

干杯,

-李

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

您的帖子使我感到奇怪的是您对“开发人员本地网站...”的引用。 如果可能的话,您应该拥有一个构建服务器,该服务器负责创建将要用于非开发环境的所有产品。 正如有人提到的那样,一个不错的免费CI服务器是CruiseControl.NET

关于书籍,您可以在Microsoft Build Engine内部查看:使用MSBuild和Team Foundation Build 如果您不使用TFS(以及团队建设),则可以。 MSBuild上的章节(12之9)与TFS无关。

-编辑:假设您正在使用.NET ...

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

-编辑

当然,您还应该获得CI服务器(例如CruiseControl.NET),并将其连接到源控制系统(例如SVN),然后在该服务器上进行构建。

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

  1. 安装CruiseControl.Net(CC.NET)
  2. 连接CC.Net,将源代码控制文件拉到CC.NET计算机上。 使用CC.NET任务执行此操作。 有一个SVN任务,TFS任务等。
  3. 编写一个msbuild定义文件(.proj),以执行大多数构建逻辑。 我将文件放在源控制中的.sln文件旁边。
  4. .proj文件将构建您的.sln。
  5. 在.proj文件中添加任务以压缩(rar)您的构建工件(构建的输出),发布,无论您想做什么。
  6. 您可以设置一些CC.NET“发布”任务。 通常,最主要的是向一群人发送电子邮件,告知他们构建成功/失败。

如果将大多数构建逻辑放在.proj文件中,并且从CC.NET换成另一个CI工具,则这样做的工作量很小。 使用以上内容,您只需要交换源代码控制文件的提取和少数发布事件(CC.NET专有任务)。 .proj文件将转移到其他CI工具。 我们从CC.NET转到TFS,由于我有这种预见,因此更改很小。 如果我使用CC.NET特定任务而不是.proj,则转换将很痛苦。

http://mikefourie.github.io/MSBuildExtensionPack/

https://github.com/loresoft/msbuildtasks

有很多额外的功能。 大多数msbuild需求已被某人编码。

而且,如果一推再推,您总是可以创建一个自定义msbuild任务。 但这几天很少见。

有基本轮廓。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM