持续集成-部署


自动构建和可重复构建。自动化测试和可重复测试。测试类别和测试频率。持续检查。持续的数据库集成。创建有效的 CI 环境的这一系列任务主要带来一个关键好处:在任何环境中的任何时间点发布工作软件。

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

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

现在剩下的就是进行自动化部署,这样我们的整个流程就完成了。

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

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

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

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

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

  • 自动化 TeamCity 来执行自动发布。

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

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

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

服务器管理器

步骤 3 - 在出现的以下屏幕上单击“下一步”。

添加角色和功能向导

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

安装类型

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

默认服务器

步骤 6 - 选择 Web 服务器角色,然后单击下一步。

网络服务器角色

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

点击下一步

步骤 8 - 在出现的以下屏幕上再次单击“下一步”。

Web 服务器角色 单击下一步

步骤 9 - 在弹出的下一个屏幕中,单击“下一步”。

角色服务

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

安装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 - 单击“保存”。

构建配置设置单击“保存”

MS构建版本

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

部署步骤

步骤 23 - 现在让我们进行最终的git commit,以确保所有文件都在 Git 中并且可由 TeamCity 使用。

最终的 Git 命令

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