持续集成-部署
自动构建和可重复构建。自动化测试和可重复测试。测试类别和测试频率。持续检查。持续的数据库集成。创建有效的 CI 环境的这一系列任务主要带来一个关键好处:在任何环境中的任何时间点发布工作软件。
在前面的章节中,我们已经完成了以下所有部分 -
- 创建了我们的代码。
- 确保在 TeamCity 中正确构建。
- 创建了数据库集成流程。
- 进行了成功的测试。
现在剩下的就是进行自动化部署,这样我们的整个流程就完成了。
对于我们案例中的自动化部署,我们需要遵循以下步骤 -
在我们的部署服务器中,确保已安装 IIS。
确保 IIS 用户有权访问我们的数据库。
创建一个发布配置文件,用于在构建网站时发布该网站。
确保我们更改 MSBuild 命令以进行自动部署。
自动化 TeamCity 来执行自动发布。
执行git commit以确保所有文件都在 Git 中。
步骤 1 - 配置本地 IIS 服务器。如果您有本地或远程IIS服务器,可以进行以下配置来部署我们的应用程序。在以自动化方式完成部署之前,先看看是否可以手动完成部署始终是一个很好的做法。
步骤 2 - 在 Windows 2012 服务器上,转到服务器管理器并单击添加角色和功能。
步骤 3 - 在出现的以下屏幕上单击“下一步”。
步骤 4 - 在下一个屏幕上选择基于角色或基于功能的安装,然后单击下一步。
步骤 5 - 选择默认服务器并单击下一步。
步骤 6 - 选择 Web 服务器角色,然后单击下一步。
步骤 7 - 在出现的下一个屏幕中,单击“下一步”。
步骤 8 - 在出现的以下屏幕上再次单击“下一步”。
步骤 9 - 在弹出的下一个屏幕中,单击“下一步”。
步骤 10 - 在最后一个屏幕中,您可以单击“安装”按钮来安装 IIS。
安装 IIS 后,您可以通过打开 Internet 信息服务来打开它。
步骤 11 - 单击应用程序池,您将看到一个名为DefaultAppPool的池。这需要在下一步中能够访问 SQL Server。
步骤 12 - 如果我们需要将 ASP.Net 应用程序连接到 MS SQL Server 应用程序,我们必须向 SQL Server 实例授予对默认应用程序池的访问权限,以便它可以连接到我们的 Demodb数据库。
步骤 13 - 打开 SQL Server Management Studio。转到“登录”,右键单击并选择菜单选项“新建登录”。
在下一个屏幕中,更新以下参数并单击“确定”。
- 登录名称为 IIS APPPOOL\DefaultAppPool。
- 默认数据库 – 这应该是我们的数据库,即 demodb。
步骤 14 - 创建发布配置文件。发布配置文件在 Visual Studio 中用于创建部署包,然后可以相应地与 MS Build 和任何 CI 服务器一起使用。为此,请在 Visual Studio 中右键单击该项目,然后单击“发布”菜单选项
步骤 15 - 在出现的下一个屏幕中,选择创建新的发布配置文件,为其命名 - DemoDeployment。然后单击“下一步”按钮。
在随后出现的屏幕中,添加以下值 -
- 选择发布方法作为 Web 部署。
- 输入服务器作为 localhost。
- 输入站点名称作为默认网站/演示。
- 将目标 url 设置为http://localhost/Demo
然后单击“下一步”按钮。
步骤 16 - 在下一个屏幕中,单击“下一步”。
步骤 17 - 在出现的最终屏幕中,单击“发布”按钮。
现在,如果您转到项目的C:\Demo\Simple\Properties\PublishProfiles位置,您将看到创建的新发布配置文件 xml 文件。此发布配置文件将包含将应用程序发布到本地 IIS 服务器所需的所有详细信息。
步骤 18 - 现在让我们自定义 MSBuild 命令并使用上面的发布配置文件,看看会发生什么。在我们的 MSBuild 命令中,我们指定以下参数 -
部署在构建上是正确的——一旦成功构建完成,这将触发自动部署。
然后我们提到使用上面步骤中使用的发布配置文件。
Visual Studio 版本只需提及 MSBuild 部署功能即可了解正在使用的 Visual Studio 版本是什么。
当您运行上述命令时,MSBuild 将触发构建和部署过程。您会注意到,它将其部署到IIS 服务器中的默认网站。
现在,如果我们浏览到该站点 - http://localhost/Demo/Demo.aspx,我们将看到以下输出,这意味着 MSBuild 已成功部署到我们的网站。
步骤 19 - 通过 TeamCity 实现自动化 – 现在是时候向我们的 TeamCity 服务器添加一个任务,以根据上述步骤自动使用 MSBuild 部署我们的应用程序。
步骤 20 - 转到项目仪表板并单击编辑配置设置。
步骤 21 - 转到构建步骤并单击添加构建步骤。
选择以下选项 -
运行程序类型应为 MSBuild
提供可选的步骤名称
输入构建路径为 Simple/Simple.csproj
将 MSBuild 版本保留为 Microsoft Build Tools 2013
将 MSBuild Tools 版本保留为 12.0
将命令行设置为 /p:DeployOnBuild = true /p:PublishProfile = DemoDeployement /p:VisualStudioVersion = 12.0
步骤 22 - 单击“保存”。
确保在构建步骤中,部署步骤是链中的最后一步。
步骤 23 - 现在让我们进行最终的git commit,以确保所有文件都在 Git 中并且可由 TeamCity 使用。
恭喜,您已成功为您的应用程序设置了完整的持续集成周期,该周期可以在任何时间点运行。