您使用什么来编写复杂服务器产品的脚本部署?
想象一下,我们已经获得了一些灵活的新代码(或者可能是版本42的光滑代码)并且已经发布了它。现在,我们当然已经掌握了基础知识 - 数据库构建和自我升级。我们有很好的“软件包”(zip文件)但是“闪亮的新服务器”和“好的,现在点击按钮”之间有很多 - 从服务代理到第三方软件,再到字体。
顺便说一句,我们是MS商店:IIS,ASP.NET,MSSQL。我们主要部署自己的服务器。随着产品变得更大并且水平扩展,更新大量服务器变得越来越重。
启发我如何轻松地做到这一点,以及回答以下任何一点......
答案 0 :(得分:2)
我们使用NAnt构建文件进行构建&包装(拉链)我们的项目。 Powershell脚本将程序包部署到目标计算机,包括Web应用程序和Windows服务。 RedGate的SQL Compare / SQL Data Compare,使用PowerShell编写,用于更新数据库模式和静态数据。 全部由JetBrain的TeamCity持续集成服务器驱动。
相同的脚本用于部署到我们的Test,QA&当然,生产环境和所有东西都保存在源代码管理中。
答案 1 :(得分:0)
我们使用NANT将新版本上传到制作中。我们已根据我们的需求对其进行了修改,并且运行正常除了我们手动执行的web.config更改之外,我们几乎不需要进行手动更改。 我们每周上传一个新版本,在某些情况下我们每天上传。我们可以选择回滚到以前的版本,我们可以选择要上传的服务器,我们将不同的分支上传到不同的服务器,我们需要做的所有事情都可以在它上面构建。
我建议写一些上传脚本。这是确保您不会忘记任何事情,您可以轻松回滚以及您确切知道服务器上发生了什么的最佳方式。