持续集成 - 部署

自动构建和可重复构建。自动测试和可重复测试。测试类别和测试频率。持续检查。持续数据库集成。在创建有效的 CI 环境时,这些任务主要实现一个关键优势:在任何时间点、任何环境中发布工作软件。

在前面的章节中,我们已经完成了以下所有部分 −

  • 创建了我们的代码。
  • 确保在 TeamCity 中正确构建。
  • 创建了数据库集成流程。
  • 进行了成功的测试。

现在唯一剩下的就是进行自动化部署,以便我们的整个流程完成。

对于我们案例中的自动化部署,我们需要遵循以下步骤 −

  • 在我们的部署服务器中,确保已安装 IIS。

  • 确保 IIS 用户有权访问我们的数据库。

  • 创建一个发布配置文件,该配置文件将用于在发布站点时它已构建。

  • 确保我们更改 MSBuild 命令以执行自动部署。

  • 自动化 TeamCity 以进行自动发布。

  • 执行 git commit 以确保所有文件都在 Git 中。

步骤 1 − 配置本地 IIS 服务器。如果您有本地或远程 IIS 服务器,可以执行以下配置来部署我们的应用程序。在以自动化方式完成部署之前,查看是否可以手动完成部署始终是一种很好的做法。

步骤 2 −在 Windows 2012 服务器上,转到服务器管理器并单击"添加角色和功能"。

服务器管理器

步骤 3 − 在出现的以下屏幕上单击"下一步"。

添加角色和功能向导

步骤 4 − 在下一个屏幕上选择基于角色或基于功能的安装,然后单击"下一步"。

安装类型

步骤 5 − 选择默认服务器并单击下一步。

默认服务器

步骤 6 − 选择 Web 服务器角色并单击下一步。

Web 服务器角色

步骤 7 − 在出现的下一个屏幕中,单击下一步。

单击下一步

步骤 8 −在出现的以下屏幕上再次单击"下一步"。

Web 服务器角色单击

步骤 9 − 在弹出的下一个屏幕中,单击"下一步"。

角色服务

步骤 10 −在最后一个屏幕中,您可以单击"安装"按钮来安装 IIS。

安装 IIS

安装 IIS 后,您可以通过打开 Internet 信息服务来打开它。

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。然后单击"下一步"按钮。

Demo Deployment

在出现的后续屏幕中,添加以下值 −

  • 选择发布方法为 Web 部署。
  • 输入服务器为 localhost。
  • 输入站点名称为 Default Web Site/Demo。
  • 将目标网址输入为 http://localhost/Demo

然后单击下一步按钮。

发布 Web 下一步按钮

步骤 16 − 在下一个屏幕中,单击下一步。

发布 Web 配置

步骤 17 −在出现的最后一个屏幕中,单击"发布"按钮。

Final Screen

现在,如果您转到项目的 C:\Demo\Simple\Properties\PublishProfiles 位置,您将看到已创建一个新的 发布配置文件 xml 文件。此发布配置文件将包含将您的应用程序发布到本地 IIS 服务器所需的所有详细信息。

步骤 18 − 现在让我们自定义 MSBuild 命令并使用上述发布配置文件,看看会发生什么。在我们的 MSBuild 命令中,我们指定了以下参数 −

  • Deploy on Build 为 true – 一旦成功完成构建,这将触发自动部署。

  • 然后我们提到使用上一步中使用的发布配置文件。

  • Visual Studio 版本只是在 MSBuild 部署功能中提及的,即所使用的 Visual Studio 版本。

Visual Studio Version

当您运行上述命令时,MSBuild 将触发构建和部署过程。您会注意到,它正在将其部署到我们 IIS 服务器中的 默认网站

默认网站

现在,如果我们浏览到网站 - http://localhost/Demo/Demo.aspx,我们将看到以下输出,这意味着 MSBuild 已成功部署到我们的网站。

Localhost

步骤 19 − 通过 TeamCity 实现自动化 - 现在是时候向我们的 TeamCity 服务器添加任务,以根据上述步骤自动使用 MSBuild 部署我们的应用程序。

步骤 20 −转到您的项目仪表板并单击编辑配置设置

项目仪表板配置设置

步骤 21 −转到"构建步骤"并单击"添加构建步骤"。

构建步骤 添加构建步骤

选择以下选项 −

  • 运行器类型应为 MSBuild

  • 提供可选的步骤名称

  • 输入构建路径为 Simple/Simple.csproj

  • 将 MSBuild 版本保留为 Microsoft Build Tools 2013

  • 将 MSBuild Toolsversion 保留为 12.0

  • 将命令行输入为 /p:DeployOnBuild = true /p:PublishProfile = DemoDeployement /p:VisualStudioVersion = 12.0

步骤 22 − 单击"保存"。

构建配置设置单击

MS 构建版本

确保在构建步骤中,部署步骤是链中的最后一步。

部署步骤

步骤 23 −现在让我们进行最后的 git 提交,以确保所有文件都在 Git 中并且可以被 TeamCity 使用。

Final Git Command

恭喜,您已成功为您的应用程序设置了完整的持续集成周期,该周期可在任何时间点运行。